Program wczytujący dane z pliku nie wyświetla tego co powinien
Ostatnio zmodyfikowano 2013-06-09 10:59
n00bwcepie Temat założony przez niniejszego użytkownika |
Program wczytujący dane z pliku nie wyświetla tego co powinien » 2013-06-08 18:32:45 Ten program ma wczytywać tablicę dwuwymiarową i ją wyświetlać. #include<fstream> #include<iostream> #include<cstdlib> using namespace std;
int main() { int x[ 3 ][ 3 ]; int i = 0; int j = 0; ifstream fileInput( "dane.txt" ); if( fileInput.is_open() ) { while( !fileInput.eof() ) { fileInput >> x[ i ][ j ]; i++; j++; } } else { cout << "nieprawidlowe otwarcie pliku \n"; } fileInput.close(); for( int i = 0; i < 3; i++ ) { for( int j = 0; j < 3; j++ ) { cout << x[ i ][ j ] << " "; } cout << endl; } system( "pause" ); } W tym samym folderze (pulpit) mam zapisany plik dane (w formacie .txt). Zapis w pliku dane.txt wygląda tak: 1 2 3 4 5 6 7 8 9 Kompilować się kompiluje ale nie wyświetla niczego. Bardzo dziękuję za ewentualne porady i rozwiązania. |
|
MrPoxipol |
» 2013-06-08 18:38:02 Ładujesz tekst do zmiennych liczbowych. Dokumentacja |
---|
Konwersja na liczbę | Funkcje do konwersji łańcucha znaków do postaci liczbowej. (kategoria) |
---|
atof | Konwertuje wartość zapisaną w łańcuchu znaków do postaci liczby zmiennoprzecinkowej (double). (funkcja) |
---|
atoi | Konwertuje wartość zapisaną w łańcuchu znaków do postaci liczby typu całkowitego (int). (funkcja) |
---|
atol | Konwertuje wartość zapisaną w łańcuchu znaków do postaci liczby typu całkowitego (long). (funkcja) |
---|
|
|
pekfos |
» 2013-06-08 18:43:16 fileInput >> x[ i ][ j ]; i++; j++; Jak chcesz tak wczytać wszystkie pola? |
|
n00bwcepie Temat założony przez niniejszego użytkownika |
Dziękuję. » 2013-06-08 19:49:07 Zacząłem od rady pekfosa, który zwrócił mi uwagę na ELEMENTARNY błąd. Zrobiłem podwójną pętlę i o dziwo to działa bez problemów na które zwrócił uwagę MrPoxipol. Ładnie mi w okienku komend wyświetla macierz:
1 2 3 4 5 6 7 8 9
Mr Poxipol, To co wysłałeś przeczytam później, ponieważ wygląda na ważne i ciekawe.
Dzięki Wam obu.
Swoją drogą ciekawe czemu tak jest. Oświeci mnie ktoś? |
|
jankowalski25 |
» 2013-06-08 22:09:57 Ładujesz tekst do zmiennych liczbowych. |
Przeciążone operatory klasy ifstream automatycznie dokonują odpowiednich konwersji. Podane funkcje są potrzebne, jeśli wczytujemy cały plik do zmiennych tekstowych, a następnie chcemy to wpisać do zmiennych liczbowych. |
|
n00bwcepie Temat założony przez niniejszego użytkownika |
Dzięki za wszystko! » 2013-06-09 10:59:40 Bardzo fajnie poznawać tajniki programowania na tym portalu. Zamykam. |
|
« 1 » |