alvsjo

niz1

Nov 21st, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.37 KB | None | 0 0
  1. program niz1;
  2. //napisati program pomocu koga se zadati niz razdvaja na dva
  3. //tako da u prvi niz ulaze visestruki clanovi datog niza
  4. //a u drugi niz jednostruki
  5.  
  6. type
  7.     niz = array[1..20] of integer;
  8. var
  9.  n,l,k,m:integer;
  10.  x,y,z: niz;
  11.  
  12.  procedure UnosNiza (var n:integer;var x:niz);
  13.  var i:integer;
  14.  begin
  15.     write('Broj clanova niza: ');
  16.     readln(n);
  17.     for i:=1 to n do
  18.         begin
  19.         write ('x[',i,']=');
  20.         readln(x[i]);
  21.         end;
  22.  end;
  23.  
  24.  procedure StampaNiza (n:integer; x:niz);
  25.  var i:integer;
  26.  begin
  27.     write('Elementi niza: ');
  28.     for i:=1 to n-1 do  write (x[i],',');
  29.     writeln(x[n]);
  30.  end;
  31.  
  32.  procedure razdvajanje (n:integer;x:niz; var l:integer; var y:niz; var m:integer;var z:niz);
  33.  var i,j,k:integer; R:boolean;
  34.  begin
  35.     l:=0;
  36.     m:=0;
  37.     for i:=1 to n do
  38.     begin
  39.         //trazimo x[i] u nizu y
  40.         r:=false;
  41.         for j:=1 to l do if x[i]=y[j] then r:=true;
  42.         if not r then
  43.             begin
  44.             //trazenje x[i] u ostatku niza x
  45.             j:=i+1;
  46.             while (j<=n) and not r do
  47.                 begin
  48.                 r:=(x[i]=x[j]);
  49.                 j:=j+1;
  50.                 end;
  51.             if r then
  52.                 begin
  53.                 l:=l+1;
  54.                 y[l]:=x[i];
  55.                 end
  56.             else
  57.                 begin
  58.                 m:=m+1;
  59.                 z[m]:=x[i];
  60.                 end
  61.             end
  62.     end;
  63.  end;
  64.  
  65.  
  66.  begin
  67.     UnosNiza(n,x);
  68.     StampaNiza(n,x);
  69.     razdvajanje(n,x,l,y,m,z);
  70.     if l>0 then stampaniza(l,y) else writeln ('Niz nema clanova');
  71.     if m>0 then stampaniza(m,z) else writeln ('Niz nema clanova');
  72.     readln;
  73.  end.
Add Comment
Please, Sign In to add comment