On-line učionica

6. decembar 2011.

Nizovi

Filed under: Pascal,Programiranje — jelena100janovic @ 7:08 am

Nizovi su promenljive koje se sastoje od više promenljivih istog tipa podataka, a imaju samo jedno ime. Evo crteža niza sa pet elemenata:

1 Vrednost 1
2 Vrednost 2
3 Vrednost 3
4 Vrednost 4
5 Vrednost 5

Nizovi se deklarišu skoro na isti način kao normalne promenljive, osim što kažete koliko elemenata želite u nizu.

program Nizovi;
var
   a:array[1..5] of integer;
begin
end.

Pristupamo pojedinom članu niza koristeći broj elementa unutar uglastih zagrada.

program Nizovi;
var
   a:array[1..5] of integer;
begin
   a[1]:=12;
   a[2]:=23;
   a[3]:=34;
   a[4]:=45;
   a[5]:=56;
end.

Mnogo je lakše kad koristite petlju da biste pristupili vrednostima unutar niza. Evo primera učitavanja pet vrednosti u niz:

program Nizovi;
var
   a:array[1..5] of integer;
   i:integer;
begin
   for i:=1 to 5 do readln(a[i]);
end.

Sortiranje nizova

Ponekad ćete želeti da sortirate vrednosti u nizu na određeni način. Da biste to uradili možete koristiti bubble sort. Bubble sort je samo jedan od mnogo načina da se sortira niz. Uz pomoć bubble sort-a najveći brojevi se pomeraju na kraj niza.

Trebaće Vam dve petlje. Jedna, da biste došli do svakog broja i druga, da biste pristupili broju s kojim poredite prvi broj. Ako je prvi broj veći, onda menja mesta sa drugim. Trebaće Vam pomoćna promenljiva u kojoj ćete čuvati vrednosti dok im menjate mesta.

program Nizovi;
var
   a:array[1..5] of integer;
   i,j,pom:integer;
begin
   a[1]:=23;
   a[2]:=45;
   a[3]:=12;
   a[4]:=56;
   a[5]:=34;
   for i:=1 to 4 do
      for j:=i+1 to 5 do
         if a[i]>a[j] then
         begin
            pom:=a[i];
            a[i]:=a[j];
            a[j]:=pom;
         end;
   for i:=1 to 5 do writeln(i,’: ‘,a[i]);
end.

Dvodimenzioni nizovi

Nizovi mogu imati dve dimenzije. Drugim rečima, mogu imati redove i kolone. Zovemo ih i matricama.

1 2 3
1 1 2 3
2 4 5 6
3 7 8 9

Evo kako se deklariše matrica:

program Nizovi;
var
   a:array [1..3,1..3] of integer;
begin
end.

Da biste pristupili vrednostima matrice, stavite dva broja u uglaste zagrade. Matricama trebaju dve petlje.

program Nizovi;
var
   i,j:integer;
   a:array [1..3,1..3] of integer;
begin
   for i:=1 to 3 do
      for j:=1 to 3 do
         readln(a[i,j]);
end.

Možete napraviti i višedimenzione nizove koji imaju više od dve dimenzije, ali oni se ne koriste toliko često, pa nemojte brinuti o njima.

Ponovo, drugačiji pogled na nizove, pogledajte ovde.

Zadaci za vežbanje:

  1. Napišite program koji učitava niz od 50 brojeva i računa njihov prosek.
  2. Napišite program koji učitava niz od 50 brojeva i računa njihov maksimum i minimum.
  3. Napišite program koji učitava niz od 50 brojeva i proverava da li se određena vrednost nalazi u tom nizu.
  4. Napišite program koji učitava broj članova nekog niza, a zatim taj niz i ispisuje ga u obrnutom poretku.
  5. Napišite program koji učitava neki niz brojeva, a zatim ispisuje samo njegove parne članove.

Ostavite komentar »

Nema komentara.

RSS feed for comments on this post. TrackBack URI

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se / Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se / Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se / Promeni )

Google+ photo

Komentarišet koristeći svoj Google+ nalog. Odjavite se / Promeni )

Povezivanje sa %s

Blog na WordPress.com.

%d bloggers like this: