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

Sprawdzenie, czy tablica została utworzona.

Ostatnio zmodyfikowano 2012-11-20 22:12
Autor Wiadomość
KamilW
Temat założony przez niniejszego użytkownika
Sprawdzenie, czy tablica została utworzona.
» 2012-11-17 11:05:39
Witam, mam do wykonania następujące zadanie. Najpierw tworzę funkcję odpowiedzialną za stworzenie tablicy i jej wypełnienie. Z tym sobie poradziłem. W drugim punkcie muszę stworzyć funkcję wypisującą co drugi element tablicy a w trzecim, wypisującą elementy parzyste. Wszystko umieszczam w MENU opartym na do...while (czyli zadanie pierwsze tworzenie tablicy, użytkownik podaje liczbę elementów). Radzę sobie ze wszystkim, jednak jest jeden kruczek, którego nie mogę ogarnąć. Otóż do drugiej i trzeciej funkcji trzeba dodać sprawdzenie czy tablica została już wygenerowana, a gdy nie wyświetlić błąd. Wie ktoś, jak to zrobić?
P-69400
cyklopek11
» 2012-11-17 13:17:14
Rozumiem, że tworzysz tablicę w funkcji 1 dynamicznie i przekazujesz "komuś" wskaźnik na nią?
P-69403
crash
» 2012-11-20 19:58:48
Sprawdź obie opcje:

C/C++
int * ptr;

if( ptr ) cout << "Przydzielona pamiec.\n"; else cout << "Pamiec nieprzydzielona.";

2.

C/C++
int * ptr = new int[ 100 ];

if( ptr ) cout << "Przydzielona pamiec.\n"; else cout << "Pamiec nieprzydzielona.";

P-69631
Mrovqa
» 2012-11-20 22:12:20
@crash
1.
C/C++
int * ptr;
Będzie NULLem, ale tylko wtedy, gdy wskaźnik jest globalny, statyczny bądź zainicjalizowany NULLem.

2.
C/C++
int * ptr = new int[ 100 ];
Gdy się nie powiedzie to jest rzucany wyjątek std::bad_alloc. By zwracało NULLa w przypadku niepowodzenia trzeba napisać:
C/C++
int * ptr = new( std::nothrow ) int[ 100 ];
P-69637
« 1 »
  Strona 1 z 1