Jednodimenzionalni tipovi
Dosadašnji primjeri koje smo radili mogli su da obrađuju samo jednu vrijednost,
kombiniranje više vrijednosti jako komplicira rješenje.
Ako imamo 5 različitih varijabli:
a,b,c,d,e i vrijednost svake se unosi sa tipkovnice, to bi izgledalo ovako
cout<<"Unesi a: ";
cin>>a;
cout<<"Unesi b: ";
cin>>b;
cout<<"Unesi c: ";
cin>>c;
cout<<"Unesi d: ";
cin>>d;
cout<<"Unesi e: ";
cin>>e;
To predstavlja problem ako moramo unijeti 50 i više vrijednosti.
Zato koristimo jednodimenzionalni nizovni tip. Pa će ovaj gore primjer izgledati ovako:
int niz[20],i;
for (i=0;i<=4;i++)
{
cout<<"Unesi vrijednost "<<i+1<<". varijable: ";
cin>>niz[i];
}
Pa da objasnimo što radi koji dio koda:
int niz[20],i;
u ovom dijelu smo deklarirali varijablu niz i
u srednje zagrade smo stavili koliko maximalno mjesta može zauzeti u memoriji (u nasem primjeru 20)
for (i=0;i<=4;i++)
Pomoću for petlje povećavamo vrijednost varijable "i" svaki put za jedan više. Povećavanje će ići
sve dok vrijednost "i" ne dostigne 4. Zašto 4? Zato što smo htjeli da unosimo 5 varijabli pa ćemo
imati 0,1,2,3,4 to je ukupno 5 brojeva. Mogli bismo staviti i=1 pa bi onda postavili i<=5 ali se u praksi pogotovo kod c++ početna vrijednost brojača postavlja na 0 dok je kod Pascala od 1 itd.
cout<<"Unesi vrijednost "<<i+1<<". varijable: ";
Kako se varijabla "i" bude povećavala tako će i ispis ovog koda biti drugačiji.
Npr: za i=0 ispis će biti "Unesi vrijednost 1. varijable: ".
sad vidimo opet da piše 1., sigurno se pitate zašto nije 0.
Ovako...Postavili smo i+1 zato što će na početku "i" biti 0 i plus ono jedan=1 i zato je 1.
cin>>niz[i];
Jednostavna naredba kojom unosimo niz brojeva.
Dvodimenzionalni nizovni tip
DVODIMENZIONALNI NIZOVI - MATRICE
Najefikasniji način predstvljanja podataka je u obliku tabela ili matrica.
Ovi zadaci u programu se predstavljaju kao dvodimenzionalni niz.
Matricu tj. tabelu možemo predstaviti na slijedeći način:
SLIKA:
Sa indeksom j broje se elementi u redu, a sa i u koloni.
i=1,n - i ide od 1 do n
j=1,m - j ide od 1 do m
Elementi kod kojih su indeksi jednaki nazivamo glavnu dijagonalu,
nasuprot glavne dijagonale nalazi se sporedna dijagonala.
n=3
m=3
i=1
j=2
a11 - a12 - a13
a21 - a22 - a23
a31 - a32 - a33
Dvodimenzionalni niz ili matrice deklarisemo u vidu niza
npr:
int niz[20], i, j;
kod ispisa koristimo niz[i][j];
Nadam se da će koristiti