Dynamiczne tworzenie tablicy
Ostatnio zmodyfikowano 2017-03-21 13:36
wer182 Temat założony przez niniejszego użytkownika |
Dynamiczne tworzenie tablicy » 2017-03-21 12:14:13 W ponizszym programie tworze dynamicznie tablice wskaźników. Stworzyłem tablice dwu elementową a mogę wpisywać dane jak do tablic o większej liczbie elementów. Dlaczego tak się dzieje? Równie dobrze mógłbym zapisać p=new Wiz[ ]; i niech sobie kompilator sam dobierze rozmiar, ale jak tak zrobie to wyrzuca błąd. O co chodzi. Może coś źle robię? #include <iostream>
using namespace std;
struct Wiz { char * imie; string nazwisko; int wiek; long int rok_urodzenia; char * miesiac; int dzien; }; int main() { Wiz * p = 0; p = new Wiz[ 1 ]; p[ 0 ].imie = "Wojciech "; p[ 1 ].imie = "Pawel"; p[ 2 ].imie = "Jacek"; p[ 3 ].imie = "Krzysiek"; p->nazwisko = "Gacek "; p->wiek = 25; p->rok_urodzenia = 1998; p->miesiac = "Styczen"; p->dzien = 7; cout << "Moje dane to: " << endl << p[ 2 ].imie << endl << p->nazwisko << endl << p->wiek << endl << p->dzien << " " << p->miesiac << " " << p->rok_urodzenia << endl; cout << p[ 1 ].imie << endl; cout << p[ 0 ].imie << endl; delete[] p; }
|
|
mateczek |
» 2017-03-21 12:41:27 W ponizszym programie tworze dynamicznie tablice wskaźników. Stworzyłem tablice dwu elementową |
jednoelementową |
|
wer182 Temat założony przez niniejszego użytkownika |
» 2017-03-21 13:04:35 Tak stworzyłem tablice jednoelementową Chciałem zaalokować miejsce na stercie dla tablicy np 5 elementów tak abym mógł zapisać tam dane (imię, nazwisko, wiek....)a następnie je wyświetlić na konsoli. Na końcu usunąć wykorzystując delete. Jak mam poprawić mój program żeby działał wiem ze na początku muszę zacząć od poprawy p=new Wiz[5]; ale co dalej |
|
mateczek |
» 2017-03-21 13:15:40 #include <iostream>
using namespace std;
struct Wiz { string imie; string nazwisko; int wiek; int rok_urodzenia; string miesiac; int dzien; }; int main() { Wiz * p = 0; p = new Wiz[ 3 ]; for( int i = 0; i < 3; i++ ) { cout << "podaj imię i nazwisko" << endl; cin >> p[ i ].imie >> p[ i ].nazwisko; } for( int i = 0; i < 3; i++ ) { cout << "osoba nr " << i + 1 << " to: " << p[ i ].imie << " " << p[ i ].nazwisko << endl; } delete[] p; }
|
|
wer182 Temat założony przez niniejszego użytkownika |
» 2017-03-21 13:36:05 Ok dzięki zamykam temat |
|
« 1 » |