• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dynamiczna alokacja tablicy wielowymiarowej.

Object Storage Arubacloud
0 głosów
270 wizyt
pytanie zadane 23 sierpnia 2016 w C i C++ przez Rafał Gardian Początkujący (310 p.)

Gdy chcemy, aby ilość elementów tablicy jednowymiarowej określać podczas wykonywania programu stosujemy dynamiczną alokację tejże tablicy. Podobnie, gdy chcemy określić podczas wykonywania programu wymiar, który jest "najbardziej z lewej" w tablicy n-wymiarowej. Piszemy wtedy np.:

int (*tablica) [3][2];
tablica = new int [n][3][2]

Co zrobić, jednak, gdy chcemy, aby ilość elementów w kolejnych wymiarach również była określona dopiero podczas wykonywania programu? Z tego co wiem, napisać

int (*tablica) [2];
tablica = new int [n][m][2]

nie możemy. Co można by było zrobić?

1 odpowiedź

+3 głosów
odpowiedź 23 sierpnia 2016 przez draghan VIP (106,230 p.)
wybrane 23 sierpnia 2016 przez Rafał Gardian
 
Najlepsza
// tablica 2x3
int **tab;
tab = new int*[2];
for(int i = 0; i < 2; ++i)
  tab[i] = new int[3];

Oczywiście potem zwalniamy pamięć - w odwrotnej kolejności do alokowania:

for(int i = 0; i < 2; ++i)
  delete[] tab[i];

delete[] tab;

 

komentarz 23 sierpnia 2016 przez Rafał Gardian Początkujący (310 p.)
Chodziło mi wprawdzie o tablicę n x m, ale wystarczy wstawić to za 2 i 3 i otrzymujemy to co chciałem, tak więc WIELKIE DZIĘKI!
komentarz 23 sierpnia 2016 przez draghan VIP (106,230 p.)
Chciałem, żebyś nie dostał wszystkiego na tacy (chociaż i tak w tym wypadku to prawie gotowiec).

Szczerze mówiąc - gdybyś nie napisał swojego wstępu o próbach czy możliwościach definiowania tablic, to pytanie poszłoby do kosza z uwagi na trywialność (wystarczy wpisać w wyszukiwarkę hasło "dynamiczna tablica 2d c++" i już mamy mnóstwo materiałów, nawet w ojczystym języku). Ale, jako że pokazałeś swoje zainteresowanie tematem i że już coś działałeś w tym kierunku, to wrzuciłem Ci kawałek kodu.

Pozdrawiam, draghan
komentarz 23 sierpnia 2016 przez Rafał Gardian Początkujący (310 p.)
Tym bardziej dziękuję.
komentarz 23 sierpnia 2016 przez draghan VIP (106,230 p.)
Och, proszę proszę... Nawet rozumiesz moje stanowisko. Rzadko się zdarza w podobnej sytuacji.

Dostajesz ode mnie plusa, na zachętę. :) Miłego wieczoru. ;)
1
komentarz 23 sierpnia 2016 przez manjaro Nałogowiec (37,390 p.)
Szkoda tylko że google przestało działać i każdą pierdołę trzeba na forum pisać. Bo gdyby działało to pierwszy wynik zwraca dokładny opis zagadnienia o którym mowa

http://www.algorytm.edu.pl/tablice-w-c/tablice-wielowymiarowe.html
komentarz 23 sierpnia 2016 przez draghan VIP (106,230 p.)
Już o tym napisałem wyżej ale dzięki za przypomnienie, mam nadzieję że Rafał Gardian zapamięta hasło "wyszukiwarka przyjacielem". ;)
komentarz 23 sierpnia 2016 przez manjaro Nałogowiec (37,390 p.)
@draghan wybacz nie czytałem całego wątku.

Pozdrawiam

Podobne pytania

0 głosów
2 odpowiedzi 879 wizyt
pytanie zadane 3 lipca 2018 w C i C++ przez qlucha Obywatel (1,790 p.)
0 głosów
1 odpowiedź 509 wizyt
pytanie zadane 12 sierpnia 2016 w C i C++ przez niezalogowany
+1 głos
1 odpowiedź 364 wizyt
pytanie zadane 22 czerwca 2016 w C i C++ przez kistel66 Początkujący (370 p.)

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...