입력을 공백 (예 : 1 2 3 4 5)으로 분리하고 배열에 넣으려면 입력을 어떻게받을 수 있습니까? 감사.사용자로부터 입력 번호 받기
흠. 나는 대부분의 응답이 내가 연구를해야 할 것이라고 추측하는 벡터를 사용하고있는 것을 본다. 우리가 sscanf 또는 어떤 것을 사용하는 것과 같은 벡터를 다루지 않았기 때문에 더 간단하고, 더 복잡한 응답이있을 거라고 생각했습니다. 입력에 감사드립니다.
입력을 공백 (예 : 1 2 3 4 5)으로 분리하고 배열에 넣으려면 입력을 어떻게받을 수 있습니까? 감사.사용자로부터 입력 번호 받기
흠. 나는 대부분의 응답이 내가 연구를해야 할 것이라고 추측하는 벡터를 사용하고있는 것을 본다. 우리가 sscanf 또는 어떤 것을 사용하는 것과 같은 벡터를 다루지 않았기 때문에 더 간단하고, 더 복잡한 응답이있을 거라고 생각했습니다. 입력에 감사드립니다.
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<int> num;
int t;
while (cin >> t) {
num.push_back(t);
}
}
,보다 일반적인 형태 :
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
vector<int> num;
copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(num));
}
OP는 벡터가 아닌 배열에 입력을 넣는 것에 대해 질문했습니다 (이것은 Pentium10의 대답에도 적용됩니다). –
벡터는 CPP의 배열입니다. – Pentium10
내가 '벡터'를 사용하는 이유는 미리 저장해야 할 숫자가 몇 개인지 알지 못하기 때문입니다. 그렇게했다면 배열을 사용하는 것이 합리적 일 것입니다. 그렇지 않으면 배열에 삽입하기 전에 범위를 벗어나는 인덱스를 테스트하는 루프가 필요합니다. – dirkgently
#include <iostream>
#include <iterator>
#include <vector>
std::istream_iterator<int> iterBegin(std::cin), iterEnd;
std::vector<int> vctUserInput(iterBegin, iterEnd);
1) 당신은을 #include를해야합니다. 2) 간단한 예제에서 namespace std를 사용할 필요가 없다는 것을 알 수 있습니다. std :: vector와 std :: cin을 간단히 말할 수 있습니다. 3) push_back 주위에 중괄호가 실제로 필요하지 않습니다. –
감사합니다. iostream을 추가했습니다. 리퀘 스터는 초보자이기 때문에 프리픽스보다는 네임 스페이스를 사용하는 것이 더 쉬울 것입니다. – Pentium10