alvsjo

skup4

Apr 19th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.61 KB | None | 0 0
  1. program skup4;
  2. //napisati program pomocu koga se zadata recenica preuredjuje tako da se
  3. //rijeci redjaju u opadajucem poretku po broju razlicitih slova
  4. type slova= set of 'a'..'z';
  5.     rijeci= array [1..20] of string;
  6.     duzine=array [1..20] of integer;
  7. var s1,s2,s3:string;
  8.     r:rijeci;
  9.     n,i,j,k:integer;
  10.     d:duzine;
  11.  
  12. procedure Rastavljanje(s:string; var n:integer; var r:rijeci);
  13. begin
  14.     delete(s,length(s),1);
  15.     s:=s+' ';
  16.     n:=0;
  17.     while (pos(' ',s))>0 do
  18.     begin
  19.         n:=n+1;
  20.         r[n]:=copy(s,1,pos(' ',s)-1);
  21.         delete(s,1,pos(' ',s));
  22.     end;
  23.    
  24. end;   
  25.  
  26. procedure sastavljanje(n:integer;r:rijeci; var s:string);
  27. var i:integer;
  28. begin
  29.     s:='';
  30.     for i:=1 to n do
  31.     begin
  32.         s:=s+r[i]+' ';
  33.     end;
  34.     delete(s,length(s),1);
  35.     s:=s+'.';
  36. end;
  37.  
  38. function brojSlova(s1:string):integer;
  39. //odredjue broj razlicitih slova stringa
  40. var s:slova;
  41.     n,i:integer;
  42. begin
  43.     n:=0;
  44.     s:=[];
  45.     for i:=1 to length(s1) do
  46.     begin
  47.         if not (s1[i] in s)
  48.         then begin
  49.         n:=n+1;
  50.         end;
  51.         s:=s+[s1[i]];
  52.     end;
  53.    
  54.     brojSlova:=n;
  55. end;
  56.  
  57. procedure uredjivanje (n:integer; var r:rijeci; var d:duzine);
  58. //uredjuje u opadajuci poredak niz rijeci po broju razlicitih slova
  59. var i,j,t:integer; 
  60.     t1:string;
  61. begin
  62.     for i:=1 to n-1 do
  63.     begin
  64.         for j:=i+1 to n do
  65.         begin
  66.             if d[i]<d[j] then
  67.             begin
  68.                 t:=d[j];
  69.                 d[j]:=d[i];
  70.                 d[i]:=t;
  71.                 t1:=r[j];
  72.                 r[j]:=r[i];
  73.                 r[i]:=t1;
  74.             end
  75.            
  76.         end;
  77.     end;
  78.    
  79.    
  80. end;
  81.  
  82.  
  83.  
  84.  
  85. begin
  86. write('String: '); readln(s1);
  87. writeln(s1);
  88. rastavljanje(s1,n,r);
  89. for i:=1 to n do
  90. begin
  91.     d[i]:=brojSlova(r[i]);
  92. end;
  93.  
  94. uredjivanje(n,r,d);
  95. sastavljanje(n,r,s2);
  96. writeln(s2);
  97.  
  98.  
  99. readln;
  100. end.
Advertisement
Add Comment
Please, Sign In to add comment