Jezik
Istorijat
C++
Kompajler
Razvojni ciklus
Hello.c
Greške
Komentari
Varijable
Printf i scanf
Include i main
Zbir.c
Konstante
Naredbe i izrazi
Operatori I
Zadaci I nivo
Operatori II
If/else
Zadaci II nivo
For
Zadaci III nivo
While
While
Zadaci IV nivo
Funkcije
Zadaci V nivo
Nizovi
Zadaci VI nivo
Zadaci
Rječnik
Literatura
abc C
|
|
Pravite aplikaciju koja ispisuje brojeve izvučene na lotu. Loto ima 7 brojeva i
biće vam potrebno 7 cijelobrojnih varijabli.
int broj1, broj2, broj3, broj4, broj5, broj6, broj7;
Sreće što nema više brojeva. Zar ne bi bilo dobro kada bi mogli sve te brojeve
staviti u jednu varijablu? Bilo bi dobro. U tu svrhu, nizovi će nam biti od
pomoći.
Niz (eng. Array) je indeksirani skup podataka. Šta to znači? Zamislite kariku
kao cijelobrojnu varijablu tipa int. Niz je lanac, kod kojeg svaka karika ima
svoj redni broj, tj. indeksirana je.
Deklaracija niza
Niz se često podvodi pod varijable, jer se tako "ponaša". Poput varijabli, niz
se mora deklarisati. To se radi na sledeći način:
tip_podataka ime_niza[broj_clanova];
Dakle, deklaracija za niz za loto treba da izgleda ovako:
int loto[7];
Niz se može deklarisati i na sledeći način:
const int x = 7;
int loto[x];
gdje je indeksna vrijednost varijabla ili konstanta, koja ima vrijednost 7.
Što se imena nizova tiče, važe ista pravila kao i za funkcije, osnosno varijable.
Pristupanje nizu
Ako želimo prvom članu niza pridružiti vrijednost 5, onda moramo ukucati sledeće:
loto[0] = 5;
Nula nije greška. Prvi član niza indeksiran je nulom, drugi jedinicom, treći
dvojkom, zadnji (kod nas) šesticom. To dobro zapamtite.
Da bi ispisali vrijednost prvog člana, trebamo ukucati sledeće:
printf("Prvi clan niza iznosi %d.", loto[0]);
Prvi clan niza iznosi 5.
Sada, kada znamo sve ovo, lako je napraviti aplikaciju za ispisivanje brojeva
izvučenih na lotu.
#include <stdio.h>
int a, clan;
int loto[7];
main()
{
printf("Unesite brojeve izvucene na lotu.\n");
clan = 1;
for(a = 0; a < 7; a++)
{
printf("%d. broj je: ", clan);
scanf("%d", &loto[a]);
clan++;
}
clan = 1;
printf("\n");
for(a = 0; a < 7; a++)
{
printf("%d. broj je %d\n",
clan, loto[a]);
clan++;
}
return 0;
}
Unesite brojeve izvucene na lotu.
1. broj je: 1
2. broj je: 13
3. broj je: 14
4. broj je: 17
5. broj je: 24
6. broj je: 35
7. broj je: 39
1. broj je 1
2. broj je 13
3. broj je 14
4. broj je 17
5. broj je 24
6. broj je 35
7. broj je 39
Početne vrijednosti članova niza
Početne vrijednosti članovima niza se na ovaj način pridružuju:
int loto[7] = {1, 13, 14, 17, 24, 35, 39};
printf("Treci clan je %d.", loto[2]);
Treci clan je 14.
Višedimenzioni nizovi
Višedimenzioni nizovi su ustvari nizovi nizova. Jednodimenzioni nizove, koje
smo do sada radili, imaju varijable za članove. Višedimenzioni nizovi imaju
nizove za članove.
Primjeri deklaracije višedimenzionog niza:
int ploca[3][3]; /* Dvodimenzioni. */
int sah[8][8]; /* Dvodimenzioni. */
float paralelopiped[5][34][14]; /* Trodimenzioni. */
Jednodimenzioni niz zamislite kao lanac, dvodimenzioni kao šahovsku tablu,
trodimenzioni kao neku 3D tijelo, a ostale prepuštam vašoj mašti.
Pristup višedimenzionim nizovima je malo zeznut. Kod dvodimenzionog niza prvo
se pristupa unutrašnjem nizu prvog člana vanjskog niza, pa unutrašnjem nizu
drugog člana, pa tako do unutrašnjeg niza zadnjeg člana vanjskog niza. Sa rastom
broja dimenzija, situacija se samo sve više i više usložnjava.
U sledećem primjeru zadate su i ispisane početne vrijednosti dvodimenzionog niza.
#include <stdio.h>
int a, b;
int ploca[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
main()
{
for(a = 0; a < 3; a++)
{
for(b = 0; b < 3; b++)
{
printf("ploca[%d][%d] = %d\n",
a, b, ploca[a][b]);
}
}
return 0;
}
ploca[0][0] = 1
ploca[0][1] = 2
ploca[0][2] = 3
ploca[1][0] = 4
ploca[1][1] = 5
ploca[1][2] = 6
ploca[2][0] = 7
ploca[2][1] = 8
ploca[2][2] = 9
Dakle, broj 1 je pridružen prvom članu unutrašnjeg niza prvog člana vanjskog
niza (ploca[0][0]). Broj 2 je pridružen drugom članu unutrašnjeg niza prvog
člana vanjskog niza (ploca[0][1]). Broj 3 je pridružen trećem članu unutrašnjeg
niza prvog člana vanjskog niza (ploca[0][2]). Broj 4 je pridružen prvom članu
unutrašnjeg niza drugog člana vanjskog niza (ploca[1][0]). Broj 9 je pridružen
trećem članu unutrašnjeg niza trećeg člana vanjskog niza (ploca[2][2]).
Za ispis višedimezionih nizova koriste se ugniježene petlje.
Preporuka: Ovdje možete pronaći pripremljene
zadatke za vježbanje nizova.
Zadaci V nivo - Zadaci VI nivo
|