Nieznana ilość liczb i wersów na wejściu

0

Witam. Mam do odczytania z pliku dane w postaci nieznanej ilości liczb całkowitych rozdzielonych w nieznanej ilości wierszy, np.:

1 23 2 2
3 8 2 11
23 19 23 1

Ilość liczb w jednym wierszy jest stała, ale również nieznana.

Jaki jest najprostszy sposób na wczytanie tych liczb do tablicy tablic intów?

Próbowałem wczytać cały pierwszy wers do stringa, a następnie przeiterować go wyciągając spomiędzy spacji liczby. Pozostałe wersy nie sprawiłyby problemu, ponieważ znałbym już ilość liczb w wersie, jednak problemem jest to, że nie wiadomo ilocyfrowa jest poszczególna liczba.

Pomyślałem, że można wyłączyć w strumieniu pomijanie białych znaków i wczytywać po liczbie, pomijając spacje i czekając na znak nowej linii, ale postanowiłem napisać tu bo może jest jakiś łatwiejszy sposób na zrobienie tego bez takiego męczenia się.

1

Do wyboru do koloru:

  • getline, stringstream i vector lub list
  • fgets, sscanf i tablica lub lista
  • scanf i tablica lub lista
  • cin i vector lub list
    I kombinacje powyższych.
1
vector<vector<int> > matrix;
string line;

while(getline(cin, line)) {
     vector<int> column;
     stringstream lineStream(line);
     int x;
     while (lineStream >> x)
           column.push_back(x);
     matrix.push_back(column);
}
0

Panowie wielkie dzięki za pomoc. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1