Instrukcja po pętli nie wykonuje się
Ostatnio zmodyfikowano 2018-11-30 22:49
Groudz377 Temat założony przez niniejszego użytkownika |
Instrukcja po pętli nie wykonuje się » 2018-11-28 21:43:27 Cześć, żadna instrukcja po pętli( w której kolejne linie tekstu są wprowadzane do tablicy, która następnie jest kopiowana jako tablica int'ów) nie wykonuje się. program poprawnie wykonuje funkcje 'Stwórz tablice', ale nie wykonuje dalszych instrukcji. #include "pch.h" #include <iostream> #include <fstream> #include <string> #include <sstream>
using namespace std; fstream cyfry; void Stworztablice( string slowa[], int liczby[] ) { cyfry.open( "cyfry.txt", ios::app | ios::in ); if( !cyfry.good() == true ) { cout << "Nie udalo sie odnalezc pliku" << endl; } for( int i = 0; !cyfry.eof(); i++ ) { getline( cyfry, slowa[ i ] ); istringstream iss( slowa[ i ] ); iss >> liczby[ i ]; } cyfry.close(); }
int main() { string slowa[ 1000 ]; int liczby[ 1000 ]; Stworztablice( slowa, liczby ); cout << "witaj" << endl; }
|
|
pekfos |
» 2018-11-28 21:54:12 cyfry.open( "cyfry.txt", ios::app | ios::in );
|
Wywal te app. |
|
Groudz377 Temat założony przez niniejszego użytkownika |
» 2018-11-28 22:02:39 Wciąż nie przechodzi dalej |
|
pekfos |
» 2018-11-28 22:08:11 Ile liczb jest w pliku? |
|
YooSy |
» 2018-11-28 22:15:08 Pokaż fragment pliku. |
|
Groudz377 Temat założony przez niniejszego użytkownika |
» 2018-11-28 22:33:57 W pliku jest tysiąc liczb mniejszych niż miliard, każda w osobnej linii. |
|
pekfos |
» 2018-11-28 22:36:46 Przekraczasz zakres tablic. tysiąc liczb mniejszych niż miliard, każda w osobnej linii. |
Do tego wystarczy zwykłe wczytywanie liczb. for( int i = 0; cyfry >> liczby[ i ]; i++ );
Kombinowaniem ze stringami tylko pogarszasz wydajność. |
|
Groudz377 Temat założony przez niniejszego użytkownika |
» 2018-11-30 22:19:58 Nie rozumiem, w obu przypadkach musisz stworzyć tablicę o określonej wielkości. Przy takim wczytywaniu wywala błąd pod "i", że wyrażenie musi mieć typ wskaźnika do obiektu.
|
|
« 1 » 2 |