Witam, mam problem z pewnym zadaniem. Mam z pliku zczytać linijki z wyrazami i sprawdzić w których linijkach każdy wyraz ma tyle samo znaków. w każdej linijce jest po 5 wyrazów różnej długości.
np.
rezas orkan dialog bamb pudel
wrona rossa slowo gwert rezas
kruk azer ekran drty reza
karmel kytap hello kytap patyk
czekolada otof pajacyk tptpt foto
ciastko palma kabaret galme lampa
kwas koko ala okohl oko
biurko parkiet ola gruszka cebula
kartofel parkiet ayszkm raban czekolada
(ważne, na końcu każdej linijki jest spacja!)
W teorii (przynajmniej tak mi się wydaje) kod powinien działać, ale oczywiście tak nie jest a sam nie mogę wpaść gdzie jest błąd..
const
n=200;
var
plik:text;
tab:array[1..n] of string;
i,j,l:integer;
k:integer;
z:integer;
dlugosc:array[1..5] of integer;
pierwszy:boolean;
begin
assign(plik,'wyrazy.txt');
reset(plik);
pierwszy:=true;
k:=1;
for i:=1 to n do readln(plik,tab[i]);
close(plik);
for i:=1 to n do
begin
z:=length(tab[i]);
for j:=1 to z do
begin
if (tab[i][j]=' ') and (pierwszy=false) then
begin
dlugosc[k]:=j-1-dlugosc[k-1];
k:=k+1;
end;
if (tab[i][j]=' ') and (pierwszy=true) then
begin
dlugosc[k]:=j-1;
pierwszy:=false;
k:=k+1;
end;
end;
writeln;
if (((dlugosc[1] = dlugosc[2]) and (dlugosc[2] = dlugosc[3])) and ((dlugosc[3] = dlugosc[4]) and (dlugosc[4] = dlugosc[5]))) then
begin
writeln('linijka nr ',j);
end;
k:=1;
pierwszy:=true;
end;
readln;
end.