Wczytywanie liczb z pliku do tablicy dwumwymiarowej
Ostatnio zmodyfikowano 2015-10-11 21:22
kisiel7 Temat założony przez niniejszego użytkownika |
Wczytywanie liczb z pliku do tablicy dwumwymiarowej » 2015-10-11 18:34:17 Narazie wstawiam tylko ideę: #include<iostream> #include<fstream> #include<string> #include<cstdlib> #include<conio.h> using namespace std; int main() { char liczba; int j = 0; int A[ 16 ][ 9 ]; while( j < 9 ) { for( int i = 0; i < 16; i++ ) { A[ i ][ j ] = 0; cout << A[ i ][ j ]; } cout << endl; j++; } fstream plik; plik.open( "lifeStart1.txt", ios::in ); if( plik.good() == false ) { cout << "Nie mozna otworzyc pliku"; } while( !plik.eof() ) { for( int i = 0; i < 16; i++ ) { getch(); liczba = A[ i ][ j ]; } j++; } getch(); cout << A[ 0 ][ 0 ]; return 0; }
Niestety nie używałem wcześniej eof i mam problem z wczytaniem odpowiedniej danej do indeksu tablicy. W pliku znajdują się tylko liczby 1 i 0. |
|
carlosmay |
» 2015-10-11 20:19:34 while( !plik.eof() ) { for( int i = 0; i < 16; i++ ) { getch(); liczba = A[ i ][ j ]; } j++; }
tutaj zmienna 'j' jest nieograniczona i będzie rosła póki plik się nie skończy (jest szansa, że tablica wyjdzie poza zakres). Metoda .eof() wykrywa koniec pliku. plik >> A[ i ][ j ]; wczytywanie liczb z pliku. |
|
kisiel7 Temat założony przez niniejszego użytkownika |
» 2015-10-11 21:22:35 Dzięki, ostatecznie działa. Dalej stworzę program, że 1 zamieniały się będą w 0, a 0 w 1 w zależności od tego jakie komórki je otaczają. #include<iostream> #include<fstream> #include<string> #include<cstdlib> #include<conio.h> using namespace std; int main() { int i = 0; int j = 0; int A[ 16 ][ 9 ]; while( j < 9 ) { for( int i = 0; i < 16; i++ ) { A[ i ][ j ] = 0; } j++; } j = 0; fstream plik; plik.open( "lifeStart1.txt", ios::in ); if( plik.good() == false ) { cout << "Nie mozna otworzyc pliku"; } while( !plik.eof() ) { for( int i = 0; i < 16; i++ ) { plik >> A[ i ][ j ]; } j++; } plik.close(); j = 0; while( j < 9 ) { for( int i = 0; i < 16; i++ ) { cout << A[ i ][ j ]; } cout << endl; j++; } return 0; } |
|
« 1 » |