Wyobraźmy sobie, że mamy 4 zmienne typu int. Tablica to właśnie kilka takich zmiennych ułożonych w kolejności w pamięci.

...
int zmienna1,zmienna2,zmienna3,zmienna4;
...

Tablica to tak jakby pozbierać te zmienne i ułożyć je w pamięci jedna po drugiej w odpowiedniej kolejności, takie ułożenie zmiennych tego samego typu to właśnie tablica. Deklaracja tablicy:

...
int tablica[
4
];
...

Zawsze najpierw typ, potem nazwa i nawiasik [ ], a w nim podajemy z ilu elementów ma składać się tablica. W naszym przypadku tablica o nazwie "tablica", składa się z czterech zmiennych typu int ułożonych kolejno w pamięci.

Tablice można od razu inicjować wartościami:

...
int tablica[
4
]={
42
,
24
,
1246
,
0
};
...

Tablice inicjujemy kolejno podając wartości zmiennych w niej, pomiędzy "{" a "}", oddzielając każdą z nich przecinkiem. Pierwsza zmienna będzie miała wartość 42, druga 24, trzecia 1246, a czwarta 0.

Teraz jak dobrać się do pojedynczej zmiennej w tablicy? Otóż każda zmienna w tablicy ma swój numer w kolejności(indeks), numerowanie zmiennych zaczyna się od liczby 0 w górę! To częsty błąd popełniany przez początkujących, numeracje zmiennych w tablicy zaczynają od 1, a nie od 0. Dla przykładu, jeżeli mamy cztero elementową tablicę to pierwsza zmienna będzie miała indeks 0, druga 1, trzecie 2, a czwarta indeks 3. Do zmiennych w tablicy odwołujemy się poprzez ich indeksy, inicjacja tablicy poprzez zapisanie każdej zmiennej po kolei:

...
int tablica[
4
];
//najpierw deklarujemy tablicę cztero-elementową potem mając tablicę,
//przypisujemy oddzielnie każdej zmiennej wartość

tablica[
0
]=
42
;
//przypisanie wartości pierwszej zmiennej w tablicy

tablica[
1
]=
24
;
//druga zmienna

tablica[
2
]=
1246
;
//trzecia zmienna

tablica[
3
]=
0
;
//czwarta zmienna

...

Często przy operacjach na tablicach używa się pętli, np. załóżmy, że mamy tablice i chcemy ją całą wyzerować. Tablice można zainicjować tylko podczas jej tworzenia, a gdy już jest utworzona, możemy odwoływać się tylko do jej pojedynczej zmiennej, załóżmy, że mamy jakąś tablicę, dziesięcio-elementową i chcemy ją wyzerować:

...
char tablica[
10
]={
3
,
1
,
5
,
2
,
7
,
1
,
2
,
5
,
2
,
2
};
//teraz chcemy ją wyzerować

for(int
i
=0;i<
10
;i++) tablica[i]=
0
;
...

Zmienna "i" jest naszym indeksem w pętli, w każdym obiegu przejdzie od 0 do 9, więc w każdym obiegu pętli wyzeruje jedną zmienną w tablicy o danym indeksie.

Teraz załóżmy, że chcemy nadać pierwszej zmiennej jakąś wartość, a każdemu kolejnemu elementowi o 1 większą od poprzedniego.

#include <iostream>


int main(int argc,char* argv[])
{
  int tablica[
10
];
;//tworzymy tablicę 10-elementową

  std::cout<<
"Podaj pierwsza wartosc w tablicy:\n"
;
//informajca

  std::cin>>tablica[
0
];
//podajemy pierwszą wartość do pierwszej zmiennej w tablicy

  for(int i=
1
;i<
10
;i++) tablica[i]=tablica[i-
1
]+
1
;
  
//aktualnemu indeksowi zmiennej przypisz wartość poprzedniego indeksu powiększoną o 1

  std::cout<<
"Kolejne zmienne w tablicy:\n"
;
  for(int i=
0
;i<
10
;i++) std::cout<<tablica[i]<<std::endl;
  
//wyświetlamy każdą zmienną po kolei w oddzielnej linijce

  system("PAUSE");
  return 0;
}


TABLICE DWUWYMIAROWE

Tablica dwuwymiarowa to taka jakby tablica, w której zmienne są poukładane w dwóch wymiarach. Każda zmienna ma dwa indeksy, indeks x i y. Wyobraź sobie szachownice, tak właśnie może wyglądać struktura takiej tablicy.

...
bool tablica[
4
][
4
];
...

Tablica 4 na 4 pola, czyli w sumie 16 pól. Przypisanie wartości polu o indeksie x=2 i y=4:

...
tablica[
0
][
3
]=
32
;
...

TABLICA TO WSKAŹNIK

Pewnie zdziwisz się jak potwierdzę, że powyższy nagłówek jest prawdą, w istocie tablica to tak naprawdę wskaźnik. Nazwa tablicy to wskaźnik na pierwszy element w tablicy. Gdy w zapisie używamy [], automatycznie oznacza to, że odwołujemy się do wartości. Podsumowując:
tablica - to wskaźnik na pierwszy element w tablicy,
tablica[0] - wartość pierwszego elementu(o indeksie 0) w tablicy.

Wejść na stronę:     Ilość osób online:
Prawa autorskie © 2008 crayze. Wszelkie prawa zastrzeżone.
crayze7@gmail.com