Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych Autor artykułu: mgr Jerzy Wałaszek |
©2014 mgr
Jerzy Wałaszek
|
We współczesnych językach programowania tablice są stosowane powszechnie do przechowywania danych podobnego rodzaju. Przy ich pomocy można zapisywać ciągi liczbowe, wyniki pomiarów różnych wielkości oraz tworzyć złożone bazy danych. Liczba zastosowań tablic jest w zasadzie ograniczona jedynie naszą wyobraźnią. Podstawową zaletą tablic jest prostota przetwarzania ich elementów. Dzięki dostępowi poprzez indeksy, elementy tablic daje się łatwo przetwarzać w pętlach iteracyjnych.
Deklarację tablicy umieszczamy w języku C++ na liście deklaracji zmiennych. Składnia jest następująca:
typ_danych | – | określa rodzaj informacji przechowywanych przez deklarowane zmienne |
nazwa_tablicy | – | tworzona jest wg zwykłych reguł tworzenia nazw zmiennych w języku C++ |
Liczba_elementów | – | określa, ile elementów danego typu przechowuje tablica |
Poniżej podajemy kilka przykładów deklaracji tablic w C++:
... int a[3]; // tablica zawierająca 3 elementy typu int double x[10]; // tablica przechowująca 10 liczb typu double char c[6]; // tablica przechowująca 6 wartości znakowych ...
W języku C++ indeksy tablic rozpoczynają się od 0. Ma to sens, ponieważ nazwa tablicy jest traktowana zawsze jak adres początku obszaru pamięci, w którym tablica przechowuje swoje elementy. Naturalne zatem jest, iż pierwszy element leży właśnie pod adresem tablicy. Stąd jego indeks wynosi 0, czyli nic nie musimy dodawać do adresu początku tablicy, aby uzyskać dostęp do jej pierwszego elementu.
W powyższym przykładzie zadeklarowano trzy tablice a, x oraz c. Posiadają one elementy o następujących indeksach:
Zwróć uwagę, iż tablica nie posiada elementu o indeksie równym ilości elementów. Zatem jeśli zadeklarujemy np. tablicę:
double Tlk[168];
to jej ostatnim elementem jest Tlk[167], a nie Tlk[168]. Odwołanie się w programie do Tlk[168] jest błędem, którego kompilator zwykle nie zgłosi, zakładając, iż programista wie co robi. Niestety, język C++ nie był tworzony z myślą o amatorach.
Składnia inicjalizacji tablicy w języku C++ jest następująca:
Zwróć uwagę, iż nie musimy podawać liczby elementów. Kompilator utworzy tyle elementów, ile podamy dla nich wartości na liście inicjalizacyjnej. Poniższy przykład tworzy tablicę 10 liczb całkowitych i wypełnia ją kolejnymi liczbami Fibonacciego.
... int fib[] = (0,1,1,2,3,5,8,13,21,33); ...
for(i = 0; i < n; i++) T[i] = x; for(i = 0; i < n; i++) cout << "T[" << i << "] = " << T[i] << endl; |
for(i = 0; i < n; i++) T[i] = i; |
for(i = 0; i < n; i++) T[i] = i << 1; |
for(i = 0; i < n; i++) cin >> T[i]; |
for(i = n - 1; i > 0; i--) T[i] = T[i - 1]; T[0] = 0; |
for(i = 0; i < n - 1; i++) T[i] = T[i + 1]; T[n - 1] = 0; |
x = T[n - 1]; for(i = n - 1; i > 0; i--) T[i] = T[i - 1]; T[0] = x; |
x = T[0]; for(i = 0; i < n - 1; i++) T[i] = T[i + 1]; T[n - 1] = x; |
for(i = 0; i < (n >> 1); i++) { x = T[i}; T[i] = T[n - i - 1]; T[n - i - 1] = x } |
for(i = n - 1; i > poz; i--) T[i] = T[i - 1]; T[poz] = x; |
for(i = poz; i < n - 1; i++) T[i] = T[i + 1]; T[n - 1] = 0; |
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe