Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program cuvinte_probl;
- const max=20000;
- type cat=0..max;
- var f:text;
- n,x:cat;
- cuvinte,fin:array[cat] of string[20];
- prop:string[200];
- cuv:string[20];
- i,j:integer;
- procedure citeste;
- begin
- assign(f, 'text.in');
- reset(f);
- n:=0;
- while not EOF(f) do
- begin
- readln(f,prop);
- if prop <> '' then
- begin
- j:=0;
- for i:=1 to length(prop) do
- if (prop[i]=' ')or(i=length(prop)) then
- begin
- inc(n);
- if(i=length(prop)) then
- cuvinte[n]:=copy(prop, i-j, j+1)
- else
- cuvinte[n]:=copy(prop, i-j, j);
- j:=0;
- end
- else
- j:=j+1;
- end;
- end;
- close(f);
- end;
- procedure scrieFisier;
- begin
- assign(f, 'text.out');
- rewrite(f);
- writeln(f, n);
- writeln(f, x);
- for i:=1 to (n-x) do
- writeln(f, fin[i]);
- close(f);
- end;
- procedure rezolva;
- var cuc:array[cat] of string[20];
- temp:cat;
- start:integer;
- litf:char;
- begin
- x:=n;
- temp:=n;
- start:=0;
- while start < x do
- begin
- start:=start+1;
- temp:=1;
- cuc[temp]:=cuvinte[start];
- litf:=cuvinte[start][length(cuvinte[start])];
- for i:=start+1 to n do
- begin
- if cuvinte[i][1] = litf then
- begin
- temp:=temp+1;
- cuc[temp]:=cuvinte[i];
- litf:=cuvinte[i][length(cuvinte[i])];
- end;
- end;
- if (n-temp) < x then
- begin
- x:=(n-temp);
- fin:=cuc;
- end;
- end;
- end;
- begin
- citeste;
- rezolva;
- scrieFisier;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement