1. Uvod – zašto nam trebaju nizovi?

Do sada smo promenljivu koristili za čuvanje jedne vrednosti.

Na primer:

int broj = 25;

Ako želimo da čuvamo ocene pet učenika, mogli bismo Napravititi pet promenljivih:

int ocena1 = 5;
int ocena2 = 4;
int ocena3 = 3;
int ocena4 = 5;
int ocena5 = 4;

Međutim, kada imamo veći broj podataka, ovakav način postaje nepraktičan.

Za čuvanje većeg broja podataka istog tipa možemo koristiti niz (array).

Niz omogućava da više vrednosti čuvamo pod jednim imenom.

Na primer:

int[] ocene = { 5, 4, 3, 5, 4 };

Ovde promenljiva ocene predstavlja niz od pet celih brojeva.


2. Definisanje niza

Jedan od načina na koji niz može da se definiše je tako što navedemo:

  1. tip podataka,

  2. uglaste zagrade [],

  3. naziv promenljive.

Na primer:

int[] brojevi;

Ovim smo definisali niz celih brojeva pod nazivom brojevi.

Možemo definisati nizove različitih tipova:

int[] brojevi;
double[] temperature;
string[] imena;
bool[] odgovori;

Tip ispred [] određuje kakve podatke niz može da sadrži.


3. Kreiranje niza

Možemo odmah navesti vrednosti elemenata:

int[] brojevi = { 10, 20, 30, 40, 50 };

Niz sada sadrži pet elemenata.

Možemo ga zamisliti ovako:

brojevi
   ↓
+----+----+----+----+----+
| 10 | 20 | 30 | 40 | 50 |
+----+----+----+----+----+
   0    1    2    3    4

Brojevi ispod elemenata predstavljaju indekse.


4. Indeksi niza

Pravilo kod nizova je:

Indeks prvog elementa je 0.

Za niz:

int[] brojevi = { 10, 20, 30, 40, 50 };

važi:

brojevi[0] → 10
brojevi[1] → 20
brojevi[2] → 30
brojevi[3] → 40
brojevi[4] → 50

Elementu pristupamo pomoću uglastih zagrada:

Console.WriteLine(brojevi[0]);

Ispisuje se:

10

Na primer:

Console.WriteLine(brojevi[3]);

ispisuje:

40

5. Promena vrednosti elementa

Vrednost određenog elementa možemo promeniti pomoću njegovog indeksa.

Na primer:

int[] brojevi = { 10, 20, 30, 40, 50 };

brojevi[2] = 100;

Niz sada izgleda:

10  20  100  40  50

Dakle:

brojevi[2]

više nema vrednost 30, već 100.


6. Broj elemenata – Length

Osobina  Length  daje broj elemenata niza.

 

Na primer:

int[] brojevi = { 10, 20, 30, 40, 50 };

Console.WriteLine(brojevi.Length);

Rezultat:

5

Dakle:

brojevi.Length → broj elemenata niza

Ako niz ima 5 elemenata, poslednji indeks je 4.

Zato važi:

broj elemenata = 5
poslednji indeks = 4

7. Prolazak kroz niz pomoću for

Pošto već znamo for, možemo ga koristiti za prolazak kroz sve elemente niza.

int[] brojevi = { 10, 20, 30, 40, 50 };

for (int i = 0; i < brojevi.Length; i++)
{
    Console.WriteLine(brojevi[i]);
}

Rezultat:

10
20
30
40
5
 

Length nam omogućava da program ne zavisi od tačnog broja elemenata.


8. foreach – jednostavan prolazak kroz niz

C# ima posebnu petlju koja je veoma pogodna za prolazak kroz elemente niza.

To je:

foreach

Osnovni oblik je:

foreach (tip promenljiva in niz)
{
    // naredbe
}

Na primer:

int[] brojevi = { 10, 20, 30, 40, 50 };

foreach (int broj in brojevi)
{
    Console.WriteLine(broj);
}

Rezultat:

10
20
30
40
50

Možemo čitati:

„Za svaki broj u nizu brojevi, izvrši naredbe iz bloka.“


9. for i foreach

Isti zadatak možemo uraditi pomoću for:

for (int i = 0; i < brojevi.Length; i++)
{
    Console.WriteLine(brojevi[i]);
}

ili pomoću foreach:

foreach (int broj in brojevi)
{
    Console.WriteLine(broj);
}

foreach je često jednostavniji kada želimo samo da pročitamo ili obradimo svaki element niza.

Kod foreach ne moramo ručno da koristimo indeks.


10. Niz stringova

Možemo napravititi niz stringova:

string[] imena = { "Ana", "Marko", "Petar", "Jelena" };

Ispis pomoću foreach:

foreach (string ime in imena)
{
    Console.WriteLine(ime);
}

Rezultat:

Ana
Marko
Petar
Jelena

11. Sistemsке metode za rad sa nizovima

C# i .NET imaju gotove metode koje nam olakšavaju rad sa nizovima.

Jedna od važnih klasa je:

Array

Klasa Array sadrži različite metode za rad sa nizovima.

Na primer:

Array.Sort()

služi za sortiranje elemenata niza.


12. Sortiranje niza – Array.Sort()

Pogledajmo primer:

int[] brojevi = { 50, 10, 40, 20, 30 };

Array.Sort(brojevi);

Nakon sortiranja niz izgleda:

10 20 30 40 50

Možemo ga ispisati pomoću foreach:

foreach (int broj in brojevi)
{
    Console.WriteLine(broj);
}

Dakle:

Array.Sort() → sortira elemente niza

13. Pretraga – Array.IndexOf()

Možemo proveriti na kom indeksu se nalazi određena vrednost.

Za to možemo koristiti:

Array.IndexOf()

Primer:

int[] brojevi = { 10, 20, 30, 40, 50 };

int indeks = Array.IndexOf(brojevi, 30);

Console.WriteLine(indeks);

Rezultat:

2

Jer se broj 30 nalazi na indeksu 2.

Ako tražena vrednost ne postoji u nizu, metoda vraća:

-1

Napomena

Na ovom času nije potrebno učiti veliki broj metoda klase Array napamet. Važno je upoznati princip: .NET već ima gotove metode koje možemo koristiti za različite operacije nad nizovima.


14. Primer – niz ocena

Pogledajmo kompletan primer:

int[] ocene = { 5, 4, 3, 5, 4 };

Console.WriteLine("Ocene:");

foreach (int ocena in ocene)
{
    Console.WriteLine(ocena);
}

Console.WriteLine("Broj ocena: " + ocene.Length);

Program prikazuje sve ocene i broj elemenata niza.


15. Primer – pronalaženje broja

Možemo kombinovati niz, foreach i if.

int[] brojevi = { 5, 12, 8, 20, 3 };

foreach (int broj in brojevi)
{
    if (broj > 10)
    {
        Console.WriteLine(broj);
    }
}

Rezultat:

12
20

Ovde povezujemo gradivo iz prethodnih lekcija:

niz
 ↓
foreach
 ↓
if

16. Kada koristiti for, a kada foreach?

Možemo zapamtiti jednostavno pravilo.

Koristi foreach kada:

  • želiš da prođeš kroz sve elemente,

  • potreban ti je sam element,

  • ne treba ti indeks elementa.

Primer:

foreach (string ime in imena)
{
    Console.WriteLine(ime);
}

Koristi for kada:

  • potreban ti je indeks,

  • želiš da pristupiš određenom elementu pomoću indeksa,

  • želiš da menjaš elemente niza prema indeksu.

Primer:

for (int i = 0; i < brojevi.Length; i++)
{
    brojevi[i] = brojevi[i] * 2;
}

17. Najvažnije što treba zapamtiti

Niz omogućava da pod jednim imenom čuvamo više podataka istog tipa.

Primer:

int[] brojevi = { 10, 20, 30, 40, 50 };

Elementima pristupamo pomoću indeksa:

brojevi[0]
brojevi[1]
brojevi[2]

Prvi indeks je uvek 0.

Broj elemenata dobijamo pomoću:

brojevi.Length

Za prolazak kroz sve elemente možemo koristiti:

foreach (int broj in brojevi)
{
    Console.WriteLine(broj);
}

Za rad sa nizovima možemo koristiti i gotove sistemske metode, na primer:

Array.Sort(brojevi);

Najvažnije je razumeti:

niz → više vrednosti istog tipa
indeks → određuje element
Length → broj elemenata
foreach → prolazak kroz elemente
Array.Sort() → sortiranje niza
Array.IndexOf() → pronalaženje indeksa vrednosti

18. Zadaci za vežbu i samostalan rad

Zadatak 1 - Definisati niz od 5 celih brojeva i pomoću foreach petlje ispisati sve njegove elemente.


Zadatak 2 - Definisati niz od 5 imena učenika. Pomoću foreach petlje ispisati sva imena.


Zadatak 3 - Definisati niz:  int[] brojevi = { 12, 5, 8, 20, 3 }; Pomoću foreach i if ispisati samo brojeve veće od 10.

 

Zadatak 4 - Napraviti niz od 5 brojeva. Ispisati: prvi element, poslednji element, broj elemenata.  Koristi indeks i Length.


Zadatak 5 - Napraviti niz  int[] brojevi = { 50, 10, 40, 20, 30 }; Sortirati ga pomoću: Array.Sort() Nakon toga pomoću foreach ispisati sortirani niz.

 
 

Zadatak 6 – izazov - Napraviti niz od 10 celih brojeva. Pomoću foreach izračunaj koliko elemenata niza ima vrednost veću od 50. Na kraju ispisati rezultat.

Primer:

Brojeva većih od 50 ima: 4

Pitanja za proveru znanja

  1. Šta je niz?

  2. Kako se definiše niz celih brojeva?

  3. Od kog broja počinje indeksiranje niza?

  4. Šta predstavlja brojevi[2]?

  5. Čemu služi Length?

  6. Čemu služi foreach?

  7. Koja je osnovna razlika između for i foreach kod rada sa nizovima?

  8. Čemu služi Array.Sort()?

  9. Čemu služi Array.IndexOf()?

  10. Zašto je foreach pogodan za prolazak kroz sve elemente niza?

Poslednja izmena: петак, 18. септембар 2026, 10:51