Tablice 217
Jednak taka reprezentacja mniej przystaje do rzeczywistości niż tablica dwuwymiarowa. Na początku gry król stoi na czwartym polu w pierwszej kolumnie. Licząc od zera, ta pozycja odnosi się do:
Pole[0] [3] ;
oczywiście przy założeniu, że pierwszy indeks odnosi się do wierszy, a drugi do kolumn. Numerację wierszy i kolumn na szachownicy pokazuje rysunek 15.3.
Tablice wielowymiarowe można również inicjalizować w momencie deklaracji. Lista wartości jest przypisywana począwszy od ostatniego indeksu aż do pierwszego. Łatwiej to będzie zrozumieć na przykładzie. Jeśli masz tablicę:
int Tablice[5][3];
To pierwsze trzy wartości zostaną umieszczone w Tablica[0], kolejne trzy w Tablica [1] itd.
Inicjalizacje tej tablicy może wyglądać np. tak:
int Tablica[5][3] = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 '■*>;
Jednak dla większej przejrzystości zapisu lepiej jest pogrupować te liczby za pomocą
klamer zgodnie z wymiarami:
int Tablica[5][3] = { { 1, 2, 3 },
{4, 5, 6},
(7, 8, 9),
{13, 14, 15} };
Kompilator pomija wewnętrzne klamry ale dla użytkownika stanowią one znaczne ułatwienie w przypisaniu wartości do odpowiednich elementów.
Każda wartość musi być oddzielona przecinkiem. Wszystkie wartości muszą być umieszczone w klamrach. Cała inicjalizacja kończy się średnikiem.
Listing 15.3 tworzy dwuwymiarową tablicę. Pierwszy wymiar to liczby od 0 do 4. Drugi wymiar zawiera podwojone wartości liczb z pierwszego wymiaru.
1: #include <iostream.h>
2: int main()
3: {
4: int Tablica[5][2] = { {0,0}, {1,2}, {2,4}, {3,6}, {4,8}};
5: for {int i = 0; i<5; i++)
6: for (int j=0; j<2; j++)
7: {
cout « "Tablica!" « i « "][" « j « "]: ";
8
Jednak taka reprezentacja mniej przystaje do rzeczywistości niż tablica dwuwymiarowa. Na początku gry król stoi na czwartym polu w pierwszej kolumnie. Licząc od zera. ta pozycja odnosi się do:
Pole[0][3];
oczywiście przy założeniu, że pierwszy indeks odnosi się do wierszy, a drugi do kolumn. Numerację wierszy i kolumn na szachownicy pokazuje rysunek 15.3.
Tablice wielowymiarowe można również inicjalizować w momencie deklaracji. Lista wartości jest przypisywana począwszy od ostatniego indeksu aż do pierwszego. Łatwiej to będzie zrozumieć na przykładzie. Jeśli masz tablicę:
łnt Tablice[5][3] ;
To pierwsze trzy wartości zostaną umieszczone w Tablica [0], kolejne trzy w Tablica [1] itd.
Inicjalizacje tej tablicy może wyglądać np. tak:
int Tablica[5][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Jednak dla większej przejrzystości zapisu lepiej jest pogrupować te liczby za pomocą klamer zgodnie z wymiarami:
int Tablica[5][3] = ( { 1, 2, 3 ),
14, 5, 6),
17, 8, 9),
{13, 14, 15) );
Kompilator pomija wewnętrzne klamry ale dla użytkownika stanowią one znaczne ułatwienie w przypisaniu wartości do odpowiednich elementów.
Każda wartość musi być oddzielona przecinkiem. Wszystkie wartości muszą być umieszczone w klamrach. Cała inicjalizacja kończy się średnikiem.
Listing 15.3 tworzy dwuwymiarową tablicę. Pierwszy wymiar to liczby od 0 do 4. Drugi wymiar zawiera podwojone wartości liczb z pierwszego wymiaru.
1: #include <iostream.h>
2: int main()
4: int Tablica[5J[2) = { 10,0), <1,2), 12,4), 13,6), {4,8});
6: for (int j=0; j<2; j++)
cout « "Tablica[" « i « ”][" « j «
8: