Tablice dynamiczne

0

Mam pytanie.
Jak zwiększać rozmiar tablicy dynamicznej podczas działania programu?

1

C:

realloc()
0

Dajmy na to że mam coś takiego Typ *tablica = new Typ[5].
Jak za pomocą funkcji realloc zwiększyć ją dwa razy ?

1

Zależy od języka.... W C++ używając typu std::vector "samo się zwiększy" w C - kolega podał już rozwiązanie.

1
Mały Młot napisał(a):

Typ *tablica = new Typ[5].

  1. Nowa osobna tablica innego rozmiaru new Typ[...]
  2. Skopiowanie do nowej potrzebnych wartości: for()
  3. Usunięcie starej: delete[]
  4. Podmiana wskaźnika.
0

Jak podmienić wskaznik ze starej tablicy na nową?

0
stary_wskaźnik=nowy_wskaźnik 
0

Dlaczego to nie chce działac ?

  Typ *zastepca = new Typ[5];
    for(int i = 0;i<5;i++)
    {
        zastepca[i]=stary[i] ;
        
    }
    delete[] stary;
    Typ *stary ;
    stary = zastepca;
0

bo tworzysz ponownie zmienną stary?

1

Jakby ułożyć te linijki w odpowiedniej kolejności to było by prawie dobrze.

0

Jak inaczej podmienic wskazniki ?

0

Możesz mi ułożyć w odpowiedniej kolejności ? :)

1
int * wsk=new int[5];
//ustawianie
int * wsk_nowy=new int[15];
for (unsigned int i=0; i<5; i++)
{
    wsk_nowy[i]=wsk[i];
}
delete[] wsk;
wsk=wsk_nowy; 
0

to co ty robiłeś to podwójna deklaracja zmiennej, a to co miałeś zrobić to przepisać zawartość nowego wskaźnika do starego

0

Gdzieś jest błąd oprócz tego tego delete[] wsk;

0

Dziękuje bardzo jednak jest oki.(Specjalnie sie zarejesruje i Ci podziękuję :) )

1 użytkowników online, w tym zalogowanych: 0, gości: 1