You are on page 1of 2

Programiranje 1

Nizovi

Definisanje nizova

Nizovi predstavljaju najjednostavnije i najčešće korišćene složene (strukturirane) tipove. Podaci u


nizu su istog tipa i nazivaju se elementi niza, a identifikuju se rednim brojem koji predstavljaju indekse
elemenata. Prvi element niza u jeziku C ima indeks 0, zatim 1 i td.

DEFINICIJA NIZA:

imeNiza [ dužina ][ dužina ] … [ dužina ] ;

Dužina predstavlja broj elemenata niza. Jednodimenzioni nizovi imaju samo jednu dužinu,
dvodimenzioni dve dužine, a n-dimenzioni imaju n navedenih dužina.

Primeri definisanja nizova:

float vektor1 [50], matrica1 [100] [30], x;


int n = 50;
int vektor2 [n], matrica2 [2 * n] [n - 20];

Pristupanje elementima nizova

Elementi niza se identifikuju pomoću rednog broja (indeksa). To su brojevi od 0 do n-1, gde je n broj
elemenata (dužina) niza. Indeksiranje niza:

niz [ indeks ]

U slučaju višedimenzionog niza:

niz [ indeks ] [ indeks ] … [ indeks ]

Primer korišćenja elemenata nizova:

vektor1 [1] = 155;


vektor [i + (j - 1) * n] = a + b + c;
matrica1 [i] [j] = vektor [i + j];

Inicijalizacija nizova i pridruživanje identifikatora nizovnim tipovima

Nizovima nepromenljivih dužina mogu da se navedu početne vrednosti, dok nizovima promenljive
dužine ne može.

Primer definisanja jednodimenzionih nizova:

int dani1 [12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dani2 [ ] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

1
Programiranje 1
Ovi nizovi su istovetni. Indeksi elemenata su sa oznakama od 0 do 11, tako da se to u suštini ne
poklapa sa rednim brojem meseca u godini. Još neki primeri inicijalizacije:

long a1[5] = {1, 2, 3};


long a2[5] = {1, 2, 3, 0, 0}; //isto kao niz a1
long a3[5] = {1, 2, 3, 4, 5, 6}; // greška: previše vrednosti
Primer definisanja dvodimenzionog niza (matrice):

int dani3 [2] [11] = {


{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
short kvadrat1[4] [4] = {{0, 1, 2, 0} {3, 4, 0, 0} {5, 6, 7, 8} {9, 0, 0, 0}};

Identifikator tipa niz se definiše naredbom typedef.

Primer pridruživanja identifikatora tipa nizovnom tipu:

typedef double Niz1 [10];


Niz1 p1, q1 [3];
Niz1 je identifikator tipa niz od 10 elemenata. Samim tim, promenljiva p1 predstavlja niz od 10
elemenata, a promenljiva q1 je niz od 3 elementa tipa Niz1, što znači da q1 predstavlja matricu od 3 x 10
elemenata.

Veličina nizova

Ukupno zauzeće memorije nizom se dobija naredbom sizeof. Veličina celog niza se dobija u
bajtovima, a predstavlja proizvod veličine jednog elementa i broja elemenata niza. Na primer, niz tipa int
dužine 10 zauzima ukupno 4 * 10 = 40 bajtova.

Zadaci za vežbu:

1. Napisati program kojim se unosi n (n ≤ 10) realnih brojeva, a potom se uneti brojevi ispisuju
jedan ispod drugog u redosledu u kom su uneti i u obrnutom redosledu.
2. Napisati program kojim se u nizu od n (n ≤ 50) celih brojeva određuje broj parnih elemenata.
3. Napisati program kojim se u nizu od n (n ≤ 50) celih brojeva određuje broj parnih elemenata niza
na neparnim pozicijama.
4. Odrediti sumu niza od n (n ≤ 50) elemenata.
5. Odrediti najmanji element niza celih brojeva od n (n ≤ 50) elemenata.
6. Odrediti najveći element niza od n (n ≤ 50) članova, kao i njegovu poziciju u nizu.
7. Koliko u datom nizu realnih brojeva x [10] ima pozitivnih brojeva koji su manji od 5.
8. Odrediti poziciju prvog najmanjeg elementa niza od n (n ≤ 50) članova.
9. Napisati program kojim se unose realni brojevi sve dok se ne unese 0 ili dok broj elemenata ne
postane veći od 20. Na izlazu ispisati kvadrate unetih brojeva.
10. U nizu a [n] (n ≤ 20) odrediti koliko je članova niza veće od prvog člana.

You might also like