Błędne odczytywanie cyfr z pliku do tablicy.
Ostatnio zmodyfikowano 2014-12-02 22:15
Mr.Herbata Temat założony przez niniejszego użytkownika |
Błędne odczytywanie cyfr z pliku do tablicy. » 2014-12-02 22:04:53 Aktualnie robię grę Sudoku i chciałem poszerzyć funkcjonalność tego programu o odczytanie danych startowych z pliku. Tylko, że mi to nie działa w ogóle, tylko wypisuje pierwsza cyfrę w nieskończoność. Gdy zdefiniuję stałą nazwę pliku, to zaczyna mi poprawnie przypisywać wartości do tablicy. Czy mógłby ktoś pomóc z tym problemem? int openfile() { int row, column; char tab[ 9 ][ 9 ]; string filename; fstream file; gotoxy( 10, 12 ); cout << "Podaj nazwe pliku txt, z ktorego mam odczytac dane(bez koncowki .txt)" << endl; gotoxy( 20, 13 ); cin >> filename; filename.append( ".txt" ); file.open( filename.c_str() ); if( file.good() == false ) { clrscr(); gotoxy( 20, 12 ); cout << "PLIK NIE ISTNIEJE!!!"; Sleep( 1500 ); return 1; } for( row = 0; row < 9; row++ ) { for( column = 0; column < 9; column++ ) { file >> tab[ row ][ column ]; } } file.close(); for( row = 0; row < 9; row++ ) { for( column = 0; column < 9; column ) { cout << " " << tab[ row ][ column ]; } cout << endl; } Sleep( 1500 ); }
Tutaj tekst, który wczytuje: 2 0 0 6 0 7 5 0 0 0 0 0 0 0 0 0 9 6 6 0 7 0 0 1 3 0 0 0 5 0 7 3 2 0 0 0 0 7 0 0 0 0 0 2 0 0 0 0 1 8 9 0 7 0 0 0 3 5 0 0 6 0 4 8 4 0 0 0 0 0 0 0 0 0 5 2 0 6 0 0 8 |
|
Nitr0Skay |
» 2014-12-02 22:09:05 Podejrzewam, że błąd leży tutaj: for( column = 0; column < 9; column )
Powinna być inkrementacja: for( column = 0; column < 9; column++ )
|
|
Mr.Herbata Temat założony przez niniejszego użytkownika |
» 2014-12-02 22:14:10 Heh, chyba jednak pójdę spać jak takich rzeczy nie mogę zauważyć ;). Działa idealnie! Dziękuje i przepraszam. Wstyd mi trochę :P |
|
Nitr0Skay |
» 2014-12-02 22:15:05 Nic nie szkodzi. Chyba prawie każdy z nas przez to przechodził i każdemu się to przydarzyło choćby raz ;) |
|
« 1 » |