Цитата:
Сообщение от 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" - временный.