matematykaszkolna.pl
c++ arrays kodziarz: Mam pytanie dot. tablic w c++ w konkretnym przykładzie, ktory rysuje "x" z gwiazdek tj.: #include<iostream> #define SIZE 21 using namespace std; int main(){ char tab[SIZE][SIZE+1]; int i, j; for(i = 0; i < SIZE; i++){ for(j = 0; j < SIZE; j++) tab[i][j] = (i == j) || (i + j == SIZE − 1) ? '*' : ' '; tab[i][j] = '\0'; } for(i = 0; i < SIZE; i++) cout << tab[i] << endl; // przyczyna pytania return 0; } jakim 'cudem' ten kod działa poprawnie, pytam ponieważ nie rozumiem jak to sie dzieje, ze wczytywalismy znaki do tablicy dwu−wymiarowej, a odczytujemy z tej samej tablicy jedno−wymiarowej
19 paź 18:06
jc: Wszystkie elementy tablicy leżą po kolei w pamięci. 1 2 3 4 5 6 = 1 2 3 4 5 6
19 paź 19:19
kodziarz: tzn, ze jesli jest np. tab[x][y] to w pamieci tj. x1,y1,x2,y2 czy najpierw wszystkie 'x' a potem wszystkie 'y'?
19 paź 20:59
kodziarz: nie było pytania zrozumiałem to, gdy pomysłałem, ze np. t[x][y] to tablica tablic
19 paź 21:01
Dziadek Mróz: Macierz x wierszy, y kolumn. x tablic jednowymiarowych o rozmiarze y. int **tab = new int*[x]; for (size_t i = 0; i < x; i++) { tab[i] = new int[y]; }
19 paź 21:32