Skip to content

Instantly share code, notes, and snippets.

@darkodemic
Created February 11, 2015 13:23
Show Gist options
  • Save darkodemic/50da23b700fb0ab299c5 to your computer and use it in GitHub Desktop.
Save darkodemic/50da23b700fb0ab299c5 to your computer and use it in GitHub Desktop.
Sep2013 prvi
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