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.