Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program skup4;
- //napisati program pomocu koga se zadata recenica preuredjuje tako da se
- //rijeci redjaju u opadajucem poretku po broju razlicitih slova
- type slova= set of 'a'..'z';
- rijeci= array [1..20] of string;
- duzine=array [1..20] of integer;
- var s1,s2,s3:string;
- r:rijeci;
- n,i,j,k:integer;
- d:duzine;
- procedure Rastavljanje(s:string; var n:integer; var r:rijeci);
- begin
- delete(s,length(s),1);
- s:=s+' ';
- n:=0;
- while (pos(' ',s))>0 do
- begin
- n:=n+1;
- r[n]:=copy(s,1,pos(' ',s)-1);
- delete(s,1,pos(' ',s));
- end;
- end;
- procedure sastavljanje(n:integer;r:rijeci; var s:string);
- var i:integer;
- begin
- s:='';
- for i:=1 to n do
- begin
- s:=s+r[i]+' ';
- end;
- delete(s,length(s),1);
- s:=s+'.';
- end;
- function brojSlova(s1:string):integer;
- //odredjue broj razlicitih slova stringa
- var s:slova;
- n,i:integer;
- begin
- n:=0;
- s:=[];
- for i:=1 to length(s1) do
- begin
- if not (s1[i] in s)
- then begin
- n:=n+1;
- end;
- s:=s+[s1[i]];
- end;
- brojSlova:=n;
- end;
- procedure uredjivanje (n:integer; var r:rijeci; var d:duzine);
- //uredjuje u opadajuci poredak niz rijeci po broju razlicitih slova
- var i,j,t:integer;
- t1:string;
- begin
- for i:=1 to n-1 do
- begin
- for j:=i+1 to n do
- begin
- if d[i]<d[j] then
- begin
- t:=d[j];
- d[j]:=d[i];
- d[i]:=t;
- t1:=r[j];
- r[j]:=r[i];
- r[i]:=t1;
- end
- end;
- end;
- end;
- begin
- write('String: '); readln(s1);
- writeln(s1);
- rastavljanje(s1,n,r);
- for i:=1 to n do
- begin
- d[i]:=brojSlova(r[i]);
- end;
- uredjivanje(n,r,d);
- sastavljanje(n,r,s2);
- writeln(s2);
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment