Nizovi (polja)

Sitio: CARNET - Arhiva 2021 Loomen
Curso: Algoritmi i programiranje 2. razred
Libro: Nizovi (polja)
Imprimido por: Utente ospite
Día: Saturday, 21 de March de 2026, 13:26

1. Nizovi - polja

Niz (polje) je programska struktura koja omogućuje unos i pohranu više podataka na neku memorijsku lokaciju.
U C++-u je polje konačan niz podataka istog tipa koji  predstavljaju cjelinu.
Sastoji se od elemenata (članova) polja, kojima se unutar polja položaj opisuje cjelobrojnim brojčanim indeksom.

Polja mogu biti:
  1. jednodimenzionalna
  2. višedimenzionalna 

2. Jednodimenzionalni nizovi

Niz (polje) treba deklarirati kako bi se u memoriji rezervirao prostor za elemente polja.
Članovi moraju biti istog tipa, dok su indeksi članova uvijek brojčani!
Opći oblik deklaracije jednodimenzionalnog polja:
tip_podataka ime_polja [duljina];
Kod jednodimenzionalnih polja članovi (elementi) su poredani u niz (jedan iza drugoga), a indeks pojedinog člana odgovara njegovoj udaljenosti od prvog člana koji ima indeks 0.
U kodu se vrijednosti navode unutar para vitičastih zagrada, odvojene zarezom:
  int X[6]={2,34,1,67,99,7};
Duljina deklariranog polja ne može se tijekom izvođenja programa mijenjati!
Ako je deklarirana duljina polja veća od broja članova kojima je pridružena vrijednost, preostalim članovima pridružuje se vrijednost 0.
Nedostatak je  i što C++ ne provjerava granice polja.

3. Primjeri jednodimenzionalnih nizova

1. primjer: Inicijalizacija elemenata polja u kodu i ispis polja:


1.pr0


2. primjer: Elemente polja moguće je unijeti i sa konzole, tada nam treba petlja za unos

1.pr01


3. primjer: Pretraživanje polja  


1.pr1


4. primjer: izračun prosječnog iznosa članova polja:


1.pr2

4. Dvodimenzionalni nizovi

Želimo li pojedinoj varijabli dodijeliti više podataka, npr. ime i broj telefona to možemo učiniti uporabom višedimenzionalnih polja.

Članovi dvodimenzionalnih polja mogu se izdvojiti (dohvatiti) pomoću dva indeksa. Zamislimo li polje podataka kao tablicu onda prvi indeks određuje redak, a drugi stupac.

Prvi član polja ima indeks [0][0] a posljednji indeks [(broj redaka-1)][(broj stupaca-1)].

Primjer inicijalizacije vrijednosti elemenata polja u kodu:

int X[2][3]={ {1, 2, 3}, {4, 5, 6} };

Ako pojedinim članovima nije pridružena vrijednost, pridružuje im se 0.

5. Primjeri dvodimenzionalnih nizova

1. primjer: Inicijalizacija, ispis i obrada podataka dvodimenzionalnog niza:

dvodim


6. Nizovi znakova

Ako je podatak znak, njegova oznaka tipa je char, a ako je niz znakova onda je string.
Podatak tipa char je predstavljen jednim znakom unutar jednostrukih navodnika ili ASCII vrijednošću tog znaka (dekadska protuvrijednost).    

char slovo1='A'; ili char slovo2=65;

Ako je podatak tekst (niz znakova) rabe se znakovni nizovi (engl. character strings).
Znakovni niz je jednodimenzionalno polje čiji su članovi znakovi (engl. char).
Sadržaj se u znakovni niz unosi između para dvostrukih navodnika:

char znakovni_niz[ ]="Ovo je znakovni niz";

Svaki znakovni niz završava zaključnim znakom '\0' (engl. null character). Taj znak ne treba posebno navoditi, ali treba znati da on zauzima jedno mjesto u memoriji.

7. Primjeri nizova znakova

1. primjer: Inicijalizacija i ispis dvodimenzionalnog niza znakova

2.pr0


2. primjer: Ispisivanje određenog stupca znakovnog niza

2.pr