Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

3 wymiarowa tablica


Rekomendowane odpowiedzi

Opublikowano

Witam, zwracam się z problemem dotyczącym języka C++, a dokładnie tablic wielowymiarowych dynamicznie alokowanych. Otóż stworzyłem wskaźnik na tablicę trójwymiarową, których jeden wymiar jest podawany przez użytkownika, a dwa kolejne są stałe. Na tym etapie wszystko działa, program zaczyna wyrzucać błędy, gdy chcę ową tablicę uzupełnić. Ktoś pomoże? Wrzucam kod :p

#include <iostream>

using namespace std;

int main(){
int ile;
cin >> ile;
int (*wskaznik_na_tablice)[4][4] = new int[ile][4][4];

for(int i =0; i < ile; i++)
{
for (int j = 0; j < 4; j++)
{
for(int k = 0; k < 4; k++) 
{
wskaznik_na_tablice[i][j][k]= i;
cout << wskaznik_na_tablice[i][j][k] << endl;
}
}
}

//============
delete [] wskaznik_na_tablice;

}

dodam, że próbowałem się dobrać również operatorem łuskania do elementu tablicy w pętli, by go zainicjować, lecz to nic nie dało

#zapomniałem dodać błędów xD

tab_dyn_wielowymiar.cpp: In function ‘int main()’:
tab_dyn_wielowymiar.cpp:17:35: error: name lookup of ‘l’ changed for ISO ‘for’ scoping [-fpermissive]
 cout << wskaznik_na_tablice[i][j][l] << endl;
                                   ^
tab_dyn_wielowymiar.cpp:17:35: note: (if you use ‘-fpermissive’ G++ will accept your code)
tab_dyn_wielowymiar.cpp: At global scope:
tab_dyn_wielowymiar.cpp:23:1: error: expected unqualified-id before ‘delete’
 delete []wskaznik_na_tablice;
 ^
tab_dyn_wielowymiar.cpp:25:1: error: expected declaration before ‘}’ token
 }

oudcdy.jpg

/

Opublikowano

U mnie też się kompiluje, więc wychodzi na to, że używasz Visual C++. Spróbuj to skompilować za pomocą G++

jw19e8.png

Opublikowano

W visualu rowniez dziala. Wszystko wyglada poprawnie. Skad w bledach wziela ci sie literka "l" ? Jestes pewien ze dobry kod skopiwoales? :)

Opublikowano

@Pancake literka 'l' to zamienione 'k' w ostatniej iteracji. Myślałem, że to jakaś litera zarezerwowana przez system i przez to jej nie mogę użyć, jednak po zamianie wywala te same błędy.

 

Jako edytora używam nano, kompiluję za pomocą g++ pod Linuxem. Właśnie skompilowałem sobie pod ideone i ładnie chodzi... Ktoś może się orientuje co stoi na przeszkodzie, że na Linuxie nie chce mi się skompilować?

 

Dzięki za pomoc, już działa. Nie wiem czemu nagle mi się skompilowało xD

oudcdy.jpg

/

Opublikowano

Pewnie użyłeś jakiegoś myku, który działa tylko na windowsie, albo Twój kompilator jest pijany, lub niespełna rozumu.

jw19e8.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...