Saturday, November 12, 2016

Nizovi

Često u zadacima nije dovoljno korišćenje nekoliko promenljivih nego su potrebne stotine, hiljade ili čak milioni promenljivih da bi se došlo do rešenja. U tom slučaju važno je koristiti složenije strukture podataka kao što su nizovi i stringovi (ima ih još, ali o tome ćemo kasnije)

Niz je grupa podataka istog tipa (npr. svi u grupi su celi brojevi). Da bi ga koristili prvo treba deklarisati (najaviti da ćemo koristiti). Primer: u programu radimo sa najviše 100  celih brojeva:

int a[100];

Ovde piše da ćemo raditi sa nizom koji se zove a i ima 100 celih brojeva. Reč je o 100 celobrojnih promenljivih koje se koriste tako što se navede ime niza i redni broj člana. Pri tom treba voditi računa da redni brojevi idu od 0. Primeri

a[0]     je 1. član niza
a[1]     je 2. član niza
a[2]     je 3. član niza
...
a[99]     je 100. član niza

Pošto vrlo često želimo da pregledamo, proverimo, učitamo, ispišemo, ... (jednom rečju obradimo) sve članove niza, često se niz koristi sa naredbama za ponavljanje. Primeri:

  • Učitavanje n elemenata niza a
for( i = 0; i < n; i++ )
   scanf("%d", &a[i]);

  • Sabiranje n elemenata niza a
s = 0;
for( i = 0; i < n; i++ )
   s = s + a[i];

  • Ispisivanje n elemenata niza a unazad (od posledenjeg do prvog)
for( i = n - 1; i >= 0; i-- )
   printf("%d ", a[i]);

  • Određivanje najmanjeg elementa u nizu
min = a[0];
for( i = 1; i < n; i++ )
   if( a[i] < min )
      min = a[i];

O složenijim algoritmima za obradu nizova biće više reči kasnije.

Ako niz sadrži znakove onda je reč o stringu.  I o ovome će kasnije biti više reči - kada budemo govorili o algoritmima za rad sa tekstom.


No comments:

Post a Comment