Jest to spowodowane brakiem czasu. Mam nadzieję że będzie równie użyteczny.
Temat musimy zacząć od tego co to właściwie jest tablica, i od kilku pytań:
Czy została wymyślona po to aby maltretować przyszłych informatyków? Nie, wręcz przeciwnie, czyli po to aby im życie ułatwić.
Czy w c++ można stworzyć wiele zmiennych jednego typu? Oczywiście że można.
Można użyć literek a,b,c … aż do z. A co jeżeli potrzebujemy ich nie kilka a
kilka naście? No to aa,ab,ac,…. itd. No dobra, a jak się w tych zmiennych
połapiemy? Po wprowadzeniu 40 takich
zmiennych nikt nie będzie wiedział która do czego służyła.
Ok przejdę do sedna
sprawy. A co zrobimy jeżeli tych zmiennych potrzebujemy kilka set
tysięcy???????
No i zaczyna się ‘mały’ problem. Ale bez obaw tu pomogą nam tablice.
Tablice służą do przechowywania wielu
zmiennych tego samego typu pod tą samą nazwą (prawie tą
samą nazwą).
Acha i to co jest podkreślone to nie jest jakaś
regułka z encyklopedii czy z jakiegoś opisu języka c++, ani nawet z jakiegoś
mądrego podręcznika. Nie traktujcie mnie jako wyrocznie. Ale tak to tłumaczyłem
swoim uczniom i dzięki tej regułce lepiej rozumieli ten temat.
Ok ale dosyć gatki szmatki przejdźmy do meritum sprawy.
Aby zadeklarować tablicę należy podać typ
przechowywanych zmiennych, nazwę tablicy i ilość elementów. Przykład:
int tab[5]
łatwo się domyśleć że tablica nazywa się ‘tab’ i
przechowuje 5 elementów typu int.
Możemy też zrobić tak:
1) int tab[5] = {11,12,13,14,15};
Albo tak:
2)
int tab[5];
int tab[0]=11;
int tab[1]=12;
int tab[2]=13;
int tab[3]=14;
int tab[4]=15;
zarówno przykład pierwszy jak i drugi zadziałają z
takim samym efektem, ale są to sposoby raczej mało efektywne przy tych naszych
kilku set tysiącach elementów.
// UWAGA!!! Tutaj należy zwrócić uwagę na pewną bardzo nurtującą sprawę:
// Dlaczego pierwszy element jest pod adresem ‘0’ a
nie pod adresem ‘1’.
// Albo:
// Dlaczego ostatni element jest pod adresem o jeden
mniejszym niż liczba elementów.
// Odpowiedź jest chyba kluczowa do lepszego
zrozumienia tablic.
// Adres to nie numer
kolejnego elementu, tylko przesunięcie od pierwszego elementu.
Lepiej będzie do tego celu wykorzystać pętlę for, i
to jest nasz sposób 3(ten najważniejszy):
3) int tab[5];
for (int i=0;i<5;i++)
{
tab[i]=11+i;
}
Aby tablicę wyświetlić po prostu kopiujemy naszą
pętlę for ale zamiast zmieniać wartości poszczególnych elementów w tablicy po
prostu je wyświetlamy. Czyli robimy tak:
for (int i=0;i<5;i++)
{
cout <<tab[i]<<endl;
}
Jeżeli są jakieś pytania proszę pisać w
komentarzach. Postaram się odpowiedzieć i ewentualnie poprawić lub dodać cos do
lekcji. :)
Poniżej całkowity kod tworzący tablicę i
wyświetlający ją:
#include <iostream>
using namespace std;
int main()
{
int
tab[5];
for
(int i=0;i<5;i++)
{
tab[i]=11+i;
}
for
(int i=0;i<5;i++)
{
cout<<tab[i];
}
return 0;
}