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

question-closed Automatyczne określenie rozmiaru tablicy

0 głosów
95 wizyt
pytanie zadane 23 stycznia w C i C++ przez danielch Użytkownik (640 p.)
zamknięte 24 stycznia przez danielch

Cześć.

Mam do zrobienia zadanie z C++ i napotkałem jeden problem, a mianowicie jak określić rozmiar tablicy z elementu innej tablicy?

 

Np.

Mam tablicę:

tab1[0] = 5;
tab1[1] = 10;

 

I chciałbym żeby pierwszy element tab1 określił mi ilość elementów w drugiej tablicy.

tab2[tab1[0]]

Powyższy sposób nie działa, inne też nie.

 

kawałek kodu:

for (int j = 0; j <= (ilosc_odc - 1); j++)
	{
		cin >> tab2[j];  
	}

I to tab2[j] jest źle bo muszę zadeklarować tablicę a przy deklaracji muszę podać obowiązkowo ilość elementów, a przecież nie wiem jak wielka będzie tablica bo rozmiar ma przyjść od użytkownika (tab1[1]).

 

Nie wiem czy dobrze to opisałem ale będę wdzięczny za pomoc smiley

komentarz zamknięcia: Sam doszedłem do rozwiązania.
1
komentarz 23 stycznia przez tkz Nałogowiec (41,900 p.)
Dlaczego nie użyjesz std::array/vector?
komentarz 25 stycznia przez mokrowski VIP (148,260 p.)
std:array nie bo ma argument wielkości przekazywany w szablonie.

1 odpowiedź

0 głosów
odpowiedź 24 stycznia przez Szfierzak Gaduła (3,750 p.)

Rozmiar tablicy utworzonej w ten sposób musi być znany w momencie kompilacji. Możesz alokować tablicę dynamicznie np.

int *tab2 = new tab[tab1[0]];

ale i tak jeżeli to możliwe polecałbym wspomniany wcześniej std::array/vector lub inny kontener.

komentarz 24 stycznia przez Wiciorny Ekspert (221,970 p.)

rozmiar nie musi byc podawany też w ten sposób, po prostu można użyć czystej deklaracji, alokującej przestrzeń pamięciową 

 

przykłady 
char slowo[80]; // slowo jest tablicą 80 elementów typu char
float ulamek[15]; // ulamek jest tablicą 15 elementów typu float
unsigned long liczba[789];//liczba - tablica 789 elementów typu unsigned long

 

Podobne pytania

0 głosów
1 odpowiedź 97 wizyt
+1 głos
2 odpowiedzi 705 wizyt
0 głosów
1 odpowiedź 302 wizyt

88,332 zapytań

136,928 odpowiedzi

305,599 komentarzy

58,601 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...