Jak zadeklarować dynamiczną tablicę jednowymiarową z danymi typu string?
Ostatnio zmodyfikowano 2013-09-20 22:11
dominont Temat założony przez niniejszego użytkownika |
Jak zadeklarować dynamiczną tablicę jednowymiarową z danymi typu string? » 2013-09-20 21:17:10 Cześć. Potrzebuję dynamicznej tablicy jednowymiarowej gdzie na życzenie użytkownik programu dodaje nowe elementy tablicy typu string. Niestety nie mogę sobie z tym poradzić. Kod z danymi typu int działa i zamieszczę poniżej kod który można skopiować i skompilować: #include <iostream>
using namespace std;
int n = 1, dane, wybor; int * tab = new int[ n ];
main() { while( wybor != 2 ) { cout << "Wpisz 1 aby dodac element, wpisz 2 zeby wyswietlic elementy: "; cin >> wybor; if( wybor == 1 ) { cout << "Wpisz nowy element: "; cin >> dane; tab[ n - 1 ] = dane; n++; } if( wybor == 2 ) { for( int i = 0; i < n - 1; i++ ) { cout << "Wypisuje: " << tab[ i ] << endl; } } } return 0; } Niestety po przerobieniu tablicy i danych na string coś zaczyna się psuć :/ Liczę na Waszą pomoc :)[/i] |
|
pekfos |
» 2013-09-20 21:18:34 |
|
dominont Temat założony przez niniejszego użytkownika |
» 2013-09-20 21:21:46 Przy zmianie kodu na ten poniżej, po wprowadzeniu drugiego elementu tablicy, program się sypie i pozostaje tylko zamknąć program. #include <iostream>
using namespace std;
int n = 1, wybor; string dane; string * tab = new string[ n ];
main() { while( wybor != 2 ) { cout << "Wpisz 1 aby dodac element, wpisz 2 zeby wyswietlic elementy: "; cin >> wybor; if( wybor == 1 ) { cout << "Wpisz nowy element: "; cin >> dane; tab[ n - 1 ] = dane; n++; } if( wybor == 2 ) { for( int i = 0; i < n - 1; i++ ) { cout << "Wypisuje: " << tab[ i ] << endl; } } } return 0; } |
|
pekfos |
» 2013-09-20 21:23:52 Bo tablica ma rozmiar 1. |
|
dominont Temat założony przez niniejszego użytkownika |
» 2013-09-20 21:25:40 A te "n++" nic nie daje? |
|
pekfos |
» 2013-09-20 21:26:33 Zwiększa n o 1. Tylko tyle. |
|
dominont Temat założony przez niniejszego użytkownika |
» 2013-09-20 21:28:16 Na moje oko to właśnie zwiększa ilość elementów tablicy, bo kod pierwszy z int'ami nie działa bez n++. |
|
pekfos |
» 2013-09-20 21:29:32 Przypadek. Jeśli w kodzie z intami wpiszesz odpowiednio dużo elementów, to też się posypie. |
|
« 1 » 2 |