#include <iostream>
using namespace std;
int n;
int main()
{
cout<<"Podaj liczbe calkowita: ";
cin>>n; //creat n.
int *tablica;
tablica= new int [n]; //creat new array "tablica"
cout<<tablica[0]<<" "<<tablica[1]<<" "<<tablica[2]<<" "<<n<<endl; //showing value array[o] array[1] array [2] and n.
delete [] tablica; //clean memory
cout<<tablica[0]<<" "<<tablica[1]<<" "<<tablica[2]<<" "<<n<<endl; // showing random values of array .
return 0;
}
Witam,
Proszę o wyjaśnienie co w kodzie jest źle.
Moja interpretacja jest taka:
Wskaźnik tworzy nową tabelę wielkości[n] , wyrzuca na ekranie wartości tabeli[0],[[1],[2]. Wyswietla n.
Dostaje polecenie delete - zwalnia pamięć.
Wyświetla na nowo tabelę[0],[[1],[2]. oraz n.
Według mnie podczas drugiego wyświetlenia wartości poszczególnych komórek powinny być losowe - ponieważ zwolniliśmy pamięć, ale program pokazuje wartości stworzonej powyżej tablicy.
Proszę o wyprowadzenie mnie z błędu lub ew. poprawę kodu.