Created
February 11, 2015 13:23
-
-
Save darkodemic/50da23b700fb0ab299c5 to your computer and use it in GitHub Desktop.
Sep2013 prvi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
program septembar2013_prvi; | |
const MAX=100; | |
type arr = array [1..MAX] of integer; | |
ponavljanje = record | |
ime:integer; | |
brojp:integer; | |
end; | |
procedure input(var n: integer; var f_niz: arr); | |
var i: integer; | |
begin | |
write('Unesite velicinu niza: '); readln(n); | |
if (n<=0) or (n>MAX) then | |
write('Uneli ste pogresan parametar n. Molimo pokusajte ponovo.') | |
else | |
for i:=1 to n do | |
begin | |
writeln('Unesite ',i,'. clan niza:'); | |
read(f_niz[i]); | |
end; | |
end; | |
procedure output_full(n : integer; f_niz: arr); | |
var i: integer; | |
begin | |
for i:=1 to n do write(f_niz[i],' '); | |
writeln; | |
writeln('================================='); | |
writeln('Kraj potpunog niza.'); | |
end; | |
function compress(f_niz: arr; n:integer; var x:integer;var bp:ponavljanje):arr; | |
var p,i,j,y: integer; | |
begin | |
for i := 1 to n do | |
begin | |
if f_niz[i] = f_niz[i + 1] then | |
begin | |
bp.brojp:=1; | |
f_niz[i]=p; | |
if p = f_niz[i+1] then | |
begin | |
bp.brojp := bp.brojp + 1 | |
end; | |
else if bp.brojp > bp.ime then | |
begin | |
bp.ime:=f_niz[i+1]; | |
bp.brojp:=1; | |
end; | |
for j:=i to n do | |
f_niz[j+1]:=f_niz[j+2]; | |
x:=n-1; | |
end; | |
end; | |
compress:= f_niz; | |
end; | |
procedure output_c(x: integer; c_niz: arr; bp: ponavljanje); | |
var i: integer; | |
begin | |
for i:=1 to x do write(c_niz[i],' '); | |
writeln; | |
writeln('================================='); | |
writeln('Kraj kompresovanog niza niza.'); | |
writeln('Broj ',bp.ime,' se ponovio najvise puta(',bp.brojp,')'); | |
end; | |
var n,x: integer; | |
f_niz: arr; | |
c_niz: arr; | |
bp : ponavljanje; | |
begin | |
input(n,f_niz); | |
output_full(n,f_niz); | |
c_niz:= compress(f_niz,n,x,bp); | |
output_c(x,c_niz,bp); | |
readln(n); | |
end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment