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

Zadanie Symfonia c++

0 głosów
275 wizyt
pytanie zadane 1 lutego 2016 w C i C++ przez niezalogowany

Witam mam problem z tym zadaniem z symfonii c++

Zdefiniowaliśmy tablicę
double tab[10][5][30];
Które z rozmiarów tej tablicy są niezbędne do tego, by kompilator mógł obliczyć pozycję w pamięci jakiegoś z elementów tej tablicy? Jak myślisz, po co zatem potrzebny jest ten rozmiar, który nie jest konieczny do obliczania adres elementów?
Zdefiniowaliśmy tablicę
double tab[10][5][30]
W tekście programu mogą pojawić się na przykład następujące wyrażenia związane z tą tablicą.
tab[1][0][1], tab [6][4], tab [1], tab
Wyjaśnij co one oznaczają.

Mógłby mi ktoś wytłumaczyć jak to 1 i 2 pojęcie można obliczyć aby sprawdzić, który to element tablicy?

Z góry dzięki za pomoc.

 

3 odpowiedzi

+2 głosów
odpowiedź 1 lutego 2016 przez Mikrokontroler xD Stary wyjadacz (13,500 p.)

A ja Ci powiem tak 

Napisz taki program w którym wypełniasz tablice przykładowymi danymi i sprawdź sobie

cout co się stanie :). Programista też musi potrafić rozwiązywać problemy samodzielnie :).
Tylko zrób sobie mniejsze tablice żeby tyle nie wypisywać :)

komentarz 1 lutego 2016 przez niezalogowany

Właśnie tak robiłem tylko chodzi mi o to jak mam odczytać te elementy w przypadku kiedy nie chce wypełniać tablic tylko po prostu odczytać z tego co mam.  W odpowiedzi do tego zadania są takie wyniki 

tab[1][0][1] - 30 rzędów razy 5 kolumn + 2, 152 element tablicy (obiekt double)
tab[6][4] – 6 * 5 + 5 = 35 tablica 30 elementowa obiektów typu double

i ja nie wiem jak odczytywać bez wypełniania np. dlaczego jest 30*5 + 2.

 

komentarz 1 lutego 2016 przez doeg Początkujący (430 p.)

Zrób jak Ci kolega radzi, jak popróbujesz na małych tablicach, to szybko załapiesz o co tak naprawdę chodzi.

i ja nie wiem jak odczytywać bez wypełniania

to znaczy, ze chcesz odczytać coś z pustej tablicy, czy jakiejś konkretnej już wypełnionej?

0 głosów
odpowiedź 1 lutego 2016 przez doeg Początkujący (430 p.)
Witaj!

Przydałoby się trochę jaśniej sformułować pytanie.

Analizowałeś część 7.5 książki Symfonia?
komentarz 1 lutego 2016 przez niezalogowany
Chodzi mi o te wyrażenia tab[1][0][1], tab[6][4] a dokładnie o to jak z nich odczytać, który element tablicy tab[10][5][30] oznaczają.
0 głosów
odpowiedź 2 lutego 2016 przez mustarrrd Obywatel (1,450 p.)

Tablica tab[10][5][30] to jest jakby tablica tablic dwuwymiarowych. Pierwszym elementem będzie tab[0][0][0], drugim tab[0][0][1], ale już tab[0][1][0] będzie elementem trzydziestym pierwszym, bo ominąłeś jedną tablicę trzydziesto-elementową (jeden wiersz tablicy dwuwymiarowej). Dlatego tab[1][0][1] omijasz jedną tablicę dwuwymiarową, która liczy 5*30=150 elementów, tab[1][0][0] byłby elementem 151, więc tab[1][0][1] jest elementem numer 152. Mam nadzieję, że zbytnio tego nie zagmatwałem. Jak gdzieś się pomyliłem, to mnie poprawcie smiley

komentarz 2 lutego 2016 przez mustarrrd Obywatel (1,450 p.)
chyba nie rozumiem?
komentarz 2 lutego 2016 przez mustarrrd Obywatel (1,450 p.)
153? coś nie gra?

Podobne pytania

0 głosów
2 odpowiedzi 207 wizyt
pytanie zadane 25 marca 2016 w C i C++ przez CortezjuszPospolity Obywatel (1,130 p.)
+1 głos
0 odpowiedzi 415 wizyt
+1 głos
3 odpowiedzi 702 wizyt

88,363 zapytań

136,963 odpowiedzi

305,690 komentarzy

58,632 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.

...