Skocz do zawartości

Dynamiczne tablice


PsichiX

Rekomendowane odpowiedzi

Mam pytanie - jak jest wlasciwie z dynamicznymi tablicami?

Jest przyklad:

 

int tablica[10];

 

int rozmiar_nowej=20;

int* tablica=new int[rozmiar_nowej*sizeof(int)];

 

I tu sie zastanawiam, czy on stworzy nowa tablice 'tablica' z 20 elementami, czy 'dorobi' do istniejacej tablicy 'tablica' miejsce nowe 20 elementow (czyli ogolem bedzie 10+20 elementow)

 

Pozdrawiam :]

logo_mini.png

Odnośnik do komentarza
Udostępnij na innych stronach

To nie tak... dynamiczna alokacja a dodawanie elementów to dwie różne sprawy... Po pierwze po co definiujesz tablice dynamiczną o tej samej nazwie co stara. I tak nie mją ze sobą nic wspólnego. Nie mieszaj też tablic stałych z dynamicznymi. Zrób tak:

int rozmiar, nowy_rozmiar;

int *tab1 = new int[rozmiar]; //początkowa alokacja

cin>>nowy_rozmiar;

int *tab2 = new int[nowy_rozmiar];

//a teraz przypisujesz elementy ze starej do nowej:

for(int i =0; i < rozmiar; i++) //oczywiście musisz dać warunek, że nowa tablica ma większy rozmiar

tab2 = tab;

delete tab;

tab = tab2;

rozmiar = nowy_rozmiar;

 

 

i tak oto zrealokowana została tablica tab z rozmiaru "rozmiar" do "nowy_rozmiar"

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...