Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rozdział 23 - Zadanie domowe

Ostatnio zmodyfikowano 2015-12-29 07:01
Autor Wiadomość
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;
}
P-142496
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.
P-142497
Lucas535
» 2015-12-29 07:01:49
C/C++
#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;
}
P-142518
« 1 »
  Strona 1 z 1