Jak skonstruowac tablice

Jak skonstruowac tablice
0

Jak skonstruowac tablice bajtow w C++ aby po podaniu 3 liczb uzyskac jakas zmienna np. tablica [x][y][z] zwroci s

?

byku_guzio
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 lat
0

Nie bardzo wiadomo o co Ci chodzi. Może o coś takigo:

Kopiuj
unsigned char tab[10][10][10];

?


0

chodzi o to ze mam jakby 3 "klucze"

mam tablica[5] = {
{1,7,4},
{5,9,3},
{1,4,2},
{8,3,1},
{0,2,41}
};

aby znalezc indeks 8,3,1 musze zrobic

index = foo(8,3,1);

int foo(BYTE a,b,c)
{

int index = 0;
for(BYTE x=0;x<5;x++)
{
if(tablica[0] == a)
if(tablica[1] == b)
if(tablica[2] == c)
return index;
index++;
}

}

czyli iterowac za każdym razem tablice, chcialbym odwolac sie do tablicy np tablica[8][3][1] i dostac index
wiec ideksy tez musialyby byc w niej, chyba sie tego nie da zrobic inaczej jak zywajac kontenera map ale mi chodzi o wydajnosc

byku_guzio
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 lat
0

A w czym problem stanowi stworzenie trójwymiarowej tablicy? Kompletnie Cię nie rozumiem. Jaki indeks chcesz uzyskać? Napisz jaśniej jak ta organizacja danych ma wyglądać.


MasterBLB
  • Rejestracja:około 19 lat
  • Ostatnio:15 dni
  • Lokalizacja:Warszawa
  • Postów:1454
0

Olek777,weź jakąś książkę/pogógluj za tym,jak w C/C++ działają tablice X-wymiarowe,bo najwyraźniej nie wiesz.
tablica[8][3][1] toć przecież jest jakiś indeks.


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 1x, ostatnio: MasterBLB
LN
  • Rejestracja:około 16 lat
  • Ostatnio:około rok
  • Postów:1398
0

Ja chyba wiem, o co chodzi.

Chcesz mieć tablicę przechowującą trójki liczb ? W takim razie zadeklaruj sobie strukturę, która będzie te trzy liczby przechowywać i wsadzaj takie struktury do tablicy jednowymiarowej. Następnie, tak jak napisałeś, jedziesz po kolejnych indeksach tej tablicy i sprawdzasz, czy wartości w i-tej komórce tablicy (w strukturze tam siedzącej) są takie, jakich szukasz. Jeśli tak, to zwracasz nr indeksu, jeśli nie, to szukasz dalej.

0

Dodatkowo, żeby móc odwoływać się odpowiednio do tej tablicy przeładuj sobie operator []

0

no wlasnie nie chce jezdzic po niej bo ona bedzie duza

jak przeladowac?

byku_guzio
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 lat
0

Napisz co dokładnie chcesz osiągnąć, bo wydaje mi się, że można to zrobić po prostu prościej.
A co do pytania to poczytaj o przeładowaniu operatorów.


0

struct X
{
int a , b , c

X() {
a=b=c=0;
}
X( int x , int y , int z) {

a= x;
b=y;
c=y
}

bool operator == ( X &inna ){

if ( inna.a==a && inna.b==b &&inna.c==c)
return true;

}

X tablica[10];
for( int i = 10 ; i < 10; i++(
if( tablica[i]==X(1,2,3))
cout<<i;

YA
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:36
0

@Olek777
Przepraszam, że się wtrącę ale ten wątek jest pozbawiony sensu. Olek, tu jest ciekawy materiał (nie sugeruj się jego tytułem), spokojnie się z nim zapoznaj:
http://xion.org.pl/productions/texts/coding/megatutorial/

0

Uczylem sie z tego tuta i szczerze polecam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.