벡터의 사용자 입력 저장소 이해
C에서 벡터는 요소 모음을 효율적으로 저장할 수 있는 동적 배열입니다. 사용자 입력을 벡터에 저장하는 경우 프로세스에는 std::cin 스트림을 사용하여 콘솔에서 입력을 읽고 std::Vector::push_back() 메서드를 사용하여 이를 벡터에 푸시하는 작업이 포함됩니다.
코드 구조
다음 코드 조각을 고려하세요.
<code class="cpp">#include <iostream> #include <vector> using namespace std; template <typename T> void write_vector(const vector<T>& V) { cout << "The numbers in the vector are : "; for (int i=0; i < V.size(); i++) cout << V[i] << " "; } int main() { int input; vector<int> V; cout << "Enter your numbers to be evaluated: "; cin >> input; V.push_back(input); write_vector(V); return 0; }</code>
문제 설명
이 코드에서 콘솔에서는 하나의 숫자만 읽어 벡터에 저장됩니다. 그런 다음 write_Vector() 함수는 벡터를 인쇄하여 처음 입력된 숫자만 표시합니다.
해결 방법
이 문제를 해결하려면 루프를 도입하여 지속적으로 입력을 읽을 수 있습니다. cin부터 사용자가 숫자가 아닌 값, EOF 문자 또는 지정된 센티널 값을 입력할 때까지.
<code class="cpp">int main() { int input; vector<int> V; cout << "Enter your numbers to be evaluated (Enter any non-numeric character to stop): "; while (cin >> input) V.push_back(input); return 0; }</code>
루프를 사용하면 코드가 여러 입력을 읽고 이를 벡터에 저장하므로 입력된 숫자를 모두 출력하려면 write_Vector() 함수를 사용하세요.
위 내용은 C에서 여러 사용자 입력을 벡터에 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!