Aktywne Wpisy

Altru +255
Nóż naostrzony. Jeszcze rok da radę.
źródło: temp_file8317251589463171101
Pobierz
niktopan +23
#gotujzwykopem
Pyszne czipsy na kolację
Pyszne czipsy na kolację
źródło: image_picker_BCF335D7-6B8A-4CA0-85BF-E369A623747D-78668-000021458A44FF65
Pobierz




Mireczki mam pytanko ponieważ uczę się dopiero i chce wiedzieć czy dobrze robię. Mam tablice i dynamicznie zwiększam sobie jej rozmiar z czym nie miałem problemu. Zastanawiałem się tylko jak ją pomniejszać. W końcu wpadłem na pomysł że
zwyczajnie kopiuję tablice ale o jeden mniej a starą usuwam. Kod poniżej nie wiem jak go w spoiler dać xD. Chce wiedzieć tylko czy nie popełniam jakiegoś błędu który może zagrozić jakimiś wyciekami pamięci.
int *zmniejsz_tablice(int* tab, int &rozmiar)
{
rozmiar--;
int *nowytab = new int[rozmiar];
for (int i=0; i<rozmiar;i++)
{
nowytab[i] = tab[i];
}
delete [] tab;
return nowy_tab;
}
int*nieintDziałać będzie, ale oczywiście można to zrobić lepiej (szybciej) chociażby przy użyciu odpowiednich funkcji do kopiowania
struct Tablica {int *tab;
unsigned int rozmiar;
unsigned int rozmiar_zaalokowany;
};