Informatika gyűjtemény

Egy szinttel feljebb pr_shak.pas

2004050607080910

NézetNyomtat

pr_shak.pas (Vissza)
Az alábbi letöltési lehetőségek közül választhatsz: (segítség)
Karakterkódolás:
Sortörés:
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
program shak;

type
pelem = ^elem;
elem = record adat:string; kov:pelem; db:longint; end;
lista = record fej,farok:pelem; end;

var t,t2:text;
wsp:set of char;
i,szo:longint;
s:string; c:char;
l:lista; mut:pelem;

procedure berak;
var tmp:pelem;
begin
mut:=l.fej;
while s>mut^.kov^.adat do mut:=mut^.kov;

if s=mut^.kov^.adat then mut^.kov^.db:=mut^.kov^.db+1 else begin
new(tmp);
tmp^.adat:=s;
tmp^.db:=1;
tmp^.kov:=mut^.kov;
mut^.kov:=tmp;
end;
end;


procedure olvas;
begin
if (in wsp) then begin
if szo=1 then begin szo:=0; berak; s:=''; end;
end else begin
szo:=1; s:=s+c;
end;
end;

begin

szo:=0; s:='';
wsp:=[' ',chr(10),chr(13),chr(9)];

new(l.fej);
new(l.farok);
l.farok^.kov:=nil;
l.farok^.adat:='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz';
l.fej^.kov:=l.farok;
l.fej^.adat:='';

assign(t,'s.txt'); reset(t);
while eof(t)=false do begin read(t,c); olvas; end; c:=' '; olvas;
close(t);

assign(t2,'s.ki'); rewrite(t2);
mut:=l.fej^.kov;
while mut<>l.farok do begin
writeln(t2,mut^.db:3,' ',mut^.adat);
mut:=mut^.kov;
end;
close(t2);






end.
(Vissza)