You are on page 1of 9

JEDNODIMENZIONALNI NIZOVI

1. UPIS I ISPIS ČLANOVA NIZA, SUMA, PROIZVOD

PROGRAM pro;
CONST
n = 3; { broj clanova niza }
VAR { deklarisanje promenljivih }
i : INTEGER; { celobrojne promenljive }
X : ARRAY [1..n] OF INTEGER; { rezervisanje prostora u memoriji (3 za ovaj
slucaj), za smestanje clanova niza, od ovog rezervisanog prostora moze se
iskoristiti do 30 mesta - za ovaj slucaj su celobrojne vrednosti }
BEGIN
WRITELN('Ulaz i izlaz niza');

{ ucitavanje clanova niza }


WRITELN('Ucitavanje clanova niza');
FOR i := 1 TO n DO { ponavljaj za i=1 do n - pocetak petlje }
BEGIN
WRITE(i,' --> '); { ispis indeksa }
READLN(X[i]); { ucitavanje clana niza }
END;

{ ispis clanova niza }


WRITELN('ispis clanova niza');
FOR i := 1 TO n DO {izlaz} { ponavljaj za i=1 do n - pocetak petlje }
WRITELN('X[',i,'] = ',X[i]); { ispis clana niza }
END.

2. Učitati članove niza. Ispisati članove niza sa ideksom koji nije deljiv sa 4.

PROGRAM Pro1;
CONST
n = 5;
VAR
i : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Index nije deljiv sa 4');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
FOR i := 1 TO n DO {izlaz}
IF i MOD 4 <> 0 THEN
WRITELN('X[',i,']= ',X[i]);
END.

3. Učitati članove niza. Ispisati: susedne članove niza čija je suma parna.

PROGRAM Pro2;
CONST
n = 5;
VAR
i : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Parni indeks');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
FOR i := 1 TO n-1 DO {izlaz}
IF (X[i] + X[i+1]) MOD 2 = 0 THEN
WRITELN('X[',i,']= ',X[i], ' X[',i+1,']= ',X[i+1], ' suma= ',X[i] +
X[i+1]);
END.

4. Učitati članove niza. Ispisati članove niza u obrnutom redosledu.

PROGRAM pro3;
CONST
n = 5;
VAR
i : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Ulaz i izlaz niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
FOR i := n DOWNTO 1 DO {izlaz}
WRITELN('X[',i,'] = ',X[i]);
END.

5. Učitati članove niza. Izračunati i ispisati sumu članova niza sa parnim indeksom.

PROGRAM Pro5;
CONST
n = 5;
VAR
i, s : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Suma clanova niza s parnim indeksom');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
s := 0;
FOR i := 1 TO n DO {suma}
IF i MOD 2 = 0 THEN
s := s + X[i] ;
WRITELN('Suma clanova niza s parnim indeksom ',s);
END.

6. Sabirati članove niza sve dok je suma manja od 241.

PROGRAM Pro6;
CONST
n = 50;
VAR
i,br : longint;
x : ARRAY [1..n] OF longint;
s : longint;
BEGIN
WRITELN('Sabirati članove niza sve dok je suma manja od 241');
WRITELN('Upisati clanove niza: ');
FOR i := 1 TO n DO
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
s:=0;
i:=1;
br:=0;
WHILE (s + x[i] < 241) OR br>n DO
BEGIN
s:=s+x[i];
br:=br + 1;
i:=i+1;
END;
IF br>0 THEN
WRITELN('Suma: ', s);
END.

7. Izračunati sumu članova niza čija je vrednost u intervalu [3,9].

PROGRAM Pro7;
CONST
n = 50;
VAR
i : longint;
x : ARRAY [1..n] OF longint;
s : longint;
BEGIN
WRITELN('Suma clanova >=3 i <=9');
WRITELN('Upisati clanove niza: ');
FOR i := 1 TO n DO
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
s:=0;
FOR i:=1 TO n DO
IF (x[i]>=3) AND (x[i]<=9) THEN
s:=s+x[i];
WRITELN('Suma clanova >=3 i <=9: ',s);
END.

8. Učitati članove niza. Izračunati i ispisati broj članova niza sa parnim indeksom.

PROGRAM Pro8;
VAR
i, br, n : INTEGER;
X : ARRAY [1..15] OF INTEGER;
BEGIN
WRITELN('Broj clanova niza sa parnim indeksom');
WRITE('Broj clanova niza');
READLN(n);
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
br :=0; {pocetna vrednost brojaca}
FOR i := 1 TO n DO {izlaz}
IF i MOD 2 = 0 THEN
br:=br+1;
WRITELN('Broj clanova niza sa parnim indeksom = ', br);
END.

9. Učitati članove niza. Izračunati i ispisati aritmetički sredinu svih članova niza.

PROGRAM Pro9;
CONST
n = 5;
VAR
i, s, br : INTEGER;
as : REAL;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Aritmeticka sredina clanova niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
s :=0; {pocetna vrednost sume}
br :=0; {pocetna vrednost brojača}
FOR i := 1 TO n DO {izlaz}
BEGIN
s := s + X[i];
br:=br+1;
END;
as := s / br;
WRITELN('Aritmeticka sredina = ', as);
END.

10. Učitati članove niza. Izračunati aritmetičku sredinu i ispisati sumu članova niza većih od aritmetičke sredine.

PROGRAM Pro10;
CONST
n = 5;
VAR
i, s, br : INTEGER;
as : REAL;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Suma clanova vecih od aritmeticke sredine clanova niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
s :=0; {pocetna vrednost sume}
br :=0; {pocetna vrednost brojača}
FOR i := 1 TO n DO {izlaz}
BEGIN
s := s + X[i];
br:=br+1;
END;
as := s / br;
s :=0; {pocetna vrednost sume}
br :=0; {pocetna vrednost brojača}
WRITELN('Aritmeticka sredina = ', as);
FOR i := 1 TO n DO {izlaz}
IF X[i] > as THEN
s := s + X[i];
WRITELN('Suma clanova vecih od as ', s);
END.

11. Učitati članove niza. Izračunati aritmetičku sredinu i ispisati sumu članova niza manjih od aritmetičke sredine
sa neparnim indeksom.

PROGRAM Pro11;
CONST
n = 5;
VAR
i, s, br : INTEGER;
as : REAL;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Suma clanova manjih od as i neparan indeks');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
s :=0; {pocetna vrednost sume}
br :=0; {pocetna vrednost brojac(a}
FOR i := 1 TO n DO {izlaz}
BEGIN
s := s + X[i];
br:=br+1;
END;
as := s / br;
s := 0; {pocetna vrednost sume}
WRITELN('Aritmeticka sredina = ', as);
FOR i := 1 TO n DO {izlaz}
IF (X[i] < as) AND (i MOD 2 = 1) THEN
s := s + X[i];
as := s / br;
WRITELN('Suma clanova manjih od as i neparan indeks = ', s);
END.

MINIMUN I MAXIMUM

12. Učitati niz od 20 brojeva i ispisati najveći i najmanji broj u nizu.

PROGRAM Pro12;
CONST
n = 20;
VAR
i, tmax, tmin : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('NAJVECI CLAN NIZA');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
tmax := X[1];
tmin := X[1];
FOR i := 2 TO n DO
BEGIN
IF tmax < X[i] THEN
tmax := X[i];
IF tmin > X[i] THEN
tmin := X[i];
END;
WRITELN('NAJVECI CLAN NIZA ',tmax);
WRITELN('NAJMANJI CLAN NIZA ', tmin);
END.

13. Učitati niz A od n članova i naći koliko ima članova koji su manji od prvog člana, a koliko članova koji su veći
od zadnjeg člana niza.

PROGRAM Pro13;
CONST
n = 20;
VAR
i, brmax, brmin : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('NAJVECI CLAN NIZA');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
brmax := 0;
brmin := 0;
FOR i := 2 TO n DO
IF X[1] > X[i] THEN
brmin := brmin + 1;
FOR i := 1 TO n-1 DO
IF X[n] < X[i] THEN
brmax := brmax + 1;
WRITELN('Broj manjih od prvog clana niza ',brmin);
WRITELN('Broj vecih od zadnjeg clana niza ',brmax);
END.

14. Učitati niz X od n članova. Naći minimum i maksimum od članova sa neparnim indeksima.

PROGRAM Pro14;
CONST
n = 5;
VAR
i, tmin, tmax : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Veci od prvog clana niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
tmin := X[1];
tmax := X[1];
FOR i := 3 TO n DO
BEGIN
IF (tmin > X[i]) AND (i MOD 2 = 1) THEN
tmin := X[i];
IF (tmax < X[i]) AND (i MOD 2 = 1) THEN
tmax := X[i];
END;
WRITELN('Najmanji clan niza s neparnim indeksima ', tmin);
WRITELN('Najveci clan niza s neparnim indeksima ', tmax);
END.

15. Naći najveći član i indeks najvećeg člana niza.

PROGRAM P15;
CONST
n = 5;
VAR
i, tmax, ind : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('NAJVECI CLAN NIZA');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
tmax := X[1];
ind := 1;
FOR i := 2 TO n DO
IF tmax < X[i] THEN
BEGIN
tmax := X[i];
ind := i;
END;
WRITELN('Najveci clan niza ', tmax, ' indeks najeveceg je ', ind);
END.

SORTIRANJE NIZOVA

j - indeks člana niza koji se poredi sa svim članovima do kraja


i - indeks člana niza koji se poredi

1. Učitati članove i sortirati ih po rastućem redoslijedu. (5 članova niza)

ROGRAM PS1;
CONST
n = 5;
VAR
i, j, pom : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN ('Sort niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
FOR j := n - 1 DOWNTO 1 DO
FOR i := j DOWNTO 1 DO
IF X[i] < X[i + 1] THEN
BEGIN
pom := X[i];
X[i] := X[i + 1];
X[i + 1] := pom;
END;
FOR i := 1 TO n DO {izlaz}
WRITELN('X[',i,'] = ', X[i]);
END.

2. Učitati članove i sortirati ih po opadajućem redosledu. (5 članova niza)

PROGRAM PS2;
CONST
n = 5;
VAR
i, j, pom : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN ('Sort niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
FOR j := n - 1 DOWNTO 1 DO
FOR i := j DOWNTO 1 DO
IF X[i] > X[i + 1] THEN
BEGIN
pom := X[i];
X[i] := X[i + 1];
X[i + 1] := pom;
END;
FOR i := 1 TO n DO {izlaz}
WRITELN('X[',i,'] = ', X[i]);
END.

3. Učitati niz pa ispisati prvo negativne, pa ostale članove niza. Ispisati članove niza tek posle sortiranja.

PROGRAM PS3;
CONST
n = 5;
VAR
i, j, pom : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN ('Negativni pa ostali clanovi niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
FOR i := 1 TO n DO { negativni }
IF X[i] >= 0 THEN
BEGIN
j := i + 1;
WHILE (X[i] >= 0) AND (j <= n) DO
BEGIN
IF X[j] < 0 THEN
BEGIN
pom := X[i];
X[i] := X[j];
X[j] := pom;
END;
j := j + 1;
END;
END;
FOR i := 1 TO n DO {izlaz}
WRITELN('X[',i,'] = ', X[i]);
END.

FORMIRANJE NOVOG NIZA OD POSTOJEĆEG

1. Učitati članove niza. Ispisati: pozitivne, nule pa negativne članove niza.

PROGRAM PFN1;
CONST
n = 5;
VAR
i, j : INTEGER;
A, B : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN('Ulaz niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(A[i]);
END;
j := 1;
FOR i := 1 TO n DO
IF A[i] > 0 THEN
BEGIN
B[j] := A[i];
j := j + 1;
END;
FOR i := 1 TO n DO
IF A[i] = 0 THEN
BEGIN
B[j] := A[i];
j := j + 1;
END;
FOR i := 1 TO n DO
IF A[i] < 0 THEN
BEGIN
B[j] := A[i];
j := j + 1;
END;
FOR i := 1 TO n DO {izlaz}
WRITELN('A[',i,'] = ',A[i]);
FOR i := 1 TO n DO
WRITELN('B[',i,'] = ',B[i]);
END.
Longint je tip celobrojne promenljive kao i integer ili byte, samo zauzima manje memorije od integera, u
zavisnosti koji broj cifara je dozvoljen za unos! Nije greška ni ako napisete integer.

You might also like