Показать сообщение отдельно
Старый 20.05.2009, 12:26   #32 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Kosmos Посмотреть сообщение
3.Задана строка символов.
Задание:
определить длину самого короткого слова.
CONST
Max_Number_of_Words=200;
VAR
L:ARRAY[1..Max_Number_of_Words] of BYTE;
i,Number_of_Words,Min_Lng:Integer;
file_inp, file_out, file_interm, file_inf:TEXT;
Ch_bef,Ch_aft:Char;
S:STRING;

BEGIN
Assign(file_inp,'D:\x1');
ReSet(file_inp);
Assign(file_interm,'D:\x2');
ReWrite(file_interm);

Ch_bef:=' ';
REPEAT
Read(file_inp, Ch_aft);
IF ((Ch_bef=' ') AND (Ch_aft<>' ')) OR
((Ch_bef<>' ') AND (Ch_aft<>' ')) OR
((Ch_bef<>' ') AND (Ch_aft=' ')) THEN
Write(file_interm, Ch_aft);
IF ((Ch_bef<>' ') AND (Ch_aft=' ')) OR (EOLN(file_inp)) THEN
WriteLn(file_interm);
Ch_bef:=Ch_aft;
UNTIL EOLN(file_inp);
Close(file_inp);
Close(file_interm);
ReSet(file_interm);
i:=0;
REPEAT
INC(i);
ReadLn(file_interm, S);
L[i]:=Length(S);
UNTIL EoF(file_interm);
Close(file_interm);
Erase(file_interm);
Number_Of_Words:=i;
Min_Lng:=255;
FOR i:=1 TO Number_Of_Words DO
IF L[i]<Min_Lng THEN Min_Lng:=L[i];
Writeln('The shortest word length is ', Min_Lng);
Readln;
END.

Анализируемая строка должна находится в файле с именем "x1". Впрочем, имена файлов и пути можно изменить. Файл "х2" - временный.
Vladimir_S вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070