2014-11-22 2 views
1

숫자를 읽는 프로그램을 텍스트 파일 형태의 배열로 만드는 방법은 현재 줄에 숫자가 있고 그 줄을 화면에 인쇄하고 줄이있는 동안 모든 것을 반복하고 싶습니다. 이 작업을 수행하는 방법? 일단 내가 동적 배열에 대해 들었다면 아마도 그것들을 사용해야 만 할까?숫자를 배열 끝까지 읽는 방법?

int k = 0; 
int paz[14]; 
int sk; 
file >> n; // n - number of lines 
for (int i = 0; i < n; i++) 
{ 
    while (file >> sk) 
    { 

      paz[k] = sk; 
      cout << paz[k] << " "; 
      k++; 


    } 
    cout << endl; 
} 

텍스트 파일 : 각 라인에서 10 개 번호 형태로 0이 될 수 있습니다. 첫 번째 줄에는 쉼표로 구분 된 줄 수와 줄 수가 표시됩니다.

2, 
9 5 10 7 8 9 7 12 7 17, 
0 1 7 0 14 4 , 

답변

2

예, 동적 배열을 사용해야합니다. 그것들은 벡터라고 불린다. 그들은 사용하기 쉽고 배열을 아주 잘 대체합니다.

벡터 코드는 다음과 같을 것이다 :

#include <vector> 
int k = 0; 
vector<int> paz; 
int sk; 
file >> n; // n - number of lines 
for (int i = 0; i < n; i++) 
{ 
    while (file >> sk) 
    { 

      paz.push_back(sk); 
      cout << paz[k] << " "; 
      k++; 


    } 
    cout << endl; 
} 
+0

감사합니다, 코드가 작동하지만, 방법 (14)이 벡터의 크기를 제한? –

+0

처음에는 paz.reserve (14)를 사용하여 벡터 공간을 예약 할 수 있습니다. 이것은 그것이 14 요소에 대한 공간을 의미합니다. 물론 더 많은 요소를 넣으려면 크기가 조정됩니다. 문서는 http://www.cplusplus.com/reference/vector/vector/reserve/에서 확인할 수 있습니다. – Aleksandar

관련 문제