Rozdział 23 - Zadanie domowe
Ostatnio zmodyfikowano 2015-12-29 07:01
sn3aky Temat założony przez niniejszego użytkownika |
Rozdział 23 - Zadanie domowe » 2015-12-28 23:09:59 Kod komplikuje się bez przeszkód, lecz gdy się uruchamia wczytuje 10 wyrazów po czym krytycznie zatrzymuje się.
#include <iostream> #include <string>
using namespace std;
string wczytywanie() { string tab[9]; for(int i = 0; i<10; i++) { cin >> tab; } return tab[9]; } void odczytywanie() { string tab[9] = wczytywanie(); for(int i=0; i<10; i++) { cout << tab; } }
int main() { odczytywanie(); return 0; }
|
|
carlosmay |
» 2015-12-28 23:31:19 gdy się uruchamia wczytuje 10 wyrazów po czym krytycznie zatrzymuje się. |
a tablica ma string tab[9]; dziewięć elementów. string tab[ 9 ] = wczytywanie(); a tutaj próbujesz wypełnić całą tablicę zwracaną wartością ( return tab[9]; - czyli stringiem pod indeksem 9, który notabene nie istnieje). W ogóle tak nie można przypisywać tablic do siebie, tylko kolejno każdy element. |
|
Lucas535 |
» 2015-12-29 07:01:49 #include <iostream> #include <string>
using namespace std;
void wczytywanie( string * t, int l ) { for( int i = 0; i < l; i++ ) { getline( cin, t[ i ] ); } } void odczytywanie( string * t, int l ) { for( int i = 0; i < l; i++ ) { cout << t[ i ] << endl; } }
int main() { string tab[ 10 ]; wczytywanie( tab, 10 ); odczytywanie( tab, 10 ); return 0; } |
|
« 1 » |