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

Dynamiczne tworzenie tablicy

Ostatnio zmodyfikowano 2017-03-21 13:36
Autor Wiadomość
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ę?

C/C++
#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;
   
   
}
P-159201
mateczek
» 2017-03-21 12:41:27
W ponizszym programie tworze dynamicznie tablice wskaźników. Stworzyłem tablice dwu elementową
jednoelementową

C/C++
p[ 1 ].imie = "Pawel"; //pole "ime" jest wskaźnikiem może i Ci to zadziała dla stałych napisów, ale chyba nie o to Ci chodziło
P-159202
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
P-159203
mateczek
» 2017-03-21 13:15:40
C/C++
#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;
    }
    //wypisywanie
    for( int i = 0; i < 3; i++ ) {
        cout << "osoba nr " << i + 1 << " to: " << p[ i ].imie << " " << p[ i ].nazwisko << endl;
    }
   
   
    delete[] p;
   
   
}
P-159204
wer182
Temat założony przez niniejszego użytkownika
» 2017-03-21 13:36:05
Ok dzięki zamykam temat
P-159205
« 1 »
  Strona 1 z 1