
04.02.2008, 22:13
|
|
Познающий
Регистрация: 31.08.2007
Сообщений: 94
С нами:
9839462
Репутация:
200
|
|
LEE_ROY, исправь здесь:
Код:
else if aChar = then IsWord := True
else IsWord := False
Получается код неправильно считает количество слов...
Вот, привожу пример на консоли, помнится именно такие задание просят сделать на консоли. Ну если че перевести куда нужно легко
Код:
program CountWord;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
i,n,count:integer;
t:string;
p:boolean=false;
function Rus(mes:string):string;
var
i:integer;
begin
for i:=1 to length(mes) do
case mes[i] of
'А'..'п': mes[i]:=Chr(Ord(mes[i])-64);
'р'..'я': mes[i]:=Chr(Ord(mes[i])-16);
end;
rus:=mes;
end;
begin
writeln(rus('Введите текст '));readln(t);
n:=length(t);
if (n>0) then begin
count:=1;
for i:=1 to n-1 do begin
if ((t[i]=' ') or (t[i]='.') or (t[i]=',')) and (not p) then
begin
inc(count);
p:=true;
end
else
if (t[i]<>' ') and (t[i]<>'.') and (t[i]<>',') then
p:=false;
end;
end
else count:=0;
if (t[n]=' ') or (t[n]=',') then
count:=1;
write(count);
readln;
end.
Теперь подправил!
P.S. Конечно не красиво, но для учебы сойдет 
Последний раз редактировалось A2GIL; 04.02.2008 в 23:09..
|
|
|