1. zadatak
program particije;
const k=10;
type niz = array[1..k] of integer;
var
n,i,s:integer;
x:niz;
ul,iz:Text;
procedure UvecajZa1(var x:niz);
var
i: integer;
begin
i:=1;
while x[i]<>0 do
begin
x[i]:=0;
i:=i+1;
end;
x[i]:=1;
end;
begin
assign(ul,'zad1.in');
assign(iz,'zad1.out');
reset(ul);
rewrite(iz);
readln(ul,n);
for i:= 1 to n do
x[i]:=0;
repeat
UvecajZa1(x);
s:=0;
for i:= 1 to n do
if x[i]=1 then
s:=s+i;
if s=n then
begin
for i:= 1 to n do
if x[i]=1 then
write(iz,i,' ');
writeln(iz);
end;
until x[n]=1;
close(ul);close(iz);
end.
2. zadatak
program zamena;
var
i:integer;
c:char;
izlaz:string;
ul,iz:Text;
function ZameniCifru(ch: char): string;
var
s: string;
begin
case ch of
'0': s:='nula';
'1': s:='jedan';
'2': s:='dva';
'3': s:='tri';
'4': s:='cetiri';
'5': s:='pet';
'6': s:='sest';
'7': s:='sedam';
'8': s:='osam';
'9': s:='devet';
end;
ZameniCifru:=s;
end;
begin
assign(ul,'zad2.in');
assign(iz,'zad2.out');
reset(ul);
rewrite(iz);
repeat
read(ul,c);
if (c>='0')and(c<='9') then
begin
izlaz:=ZameniCifru(c);
read(ul,c);
while (not eof(ul))and(c>='0')and(c<='9')
do
begin
izlaz:=izlaz+'
'+ZameniCifru(c);
read(ul,c);
end;
write(iz,izlaz);
end;
write(iz,c);
until eof(ul);
close(ul);close(iz);
end.
3. zadatak
program Razlika_najveceg_i_najmanjeg;
type
matrica = array[1..100,1..100] of integer;
vrsta = array[1..100] of integer;
niz = array [1..100] of int64;
var
a:matrica;
i,j,n,m:integer;
ul,iz:Text;
b:niz;
procedure NizB(n,m:integer;a:matrica;var b:niz);
var
i:integer;
function RazlikaMaxMin(m:integer;x:vrsta):int64;
var
i,min,max:integer;
begin
min:=x[1];
max:=x[1];
for i:=2 to m do
begin
if x[i]<min then min:=x[i];
if x[i]>max then max:=x[i];
end;
RazlikaMaxMin:=max-min;
end;
begin
for i:=1 to n do b[i]:=RazlikaMaxMin(m,a[i]);
end;
begin
assign(ul,'zad3.in');
assign(iz,'zad3.out');
reset(ul);
rewrite(iz);
readln(ul,n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(ul,a[i,j]);
readln(ul);
end;
NizB(n,m,a,b);
for i:=1 to n do
writeln(iz,b[i]);
close(ul);close(iz);
end.