W
Wefast
Программа должна находить самое короткое слово, и удалять лишние пробелы. Так вот если ввести много пробелов в начале, потом слово , потом пробелы, а потом слово опять , то он не выводит самое короткое слово.
Код:
Код:
Код:
uses crt;
var s,s1,s2,s3:string;
mx,mn:byte;
begin
clrscr;
textcolor(White);
write('Строка: ');
readln(s);
s:=s+' ';{добавление пробела в конец}
while pos(' ',s)>0 do{удаляем лишние пробелы, пока есть 2 пробела рядом}
delete(s,pos(' ',s),1);{1 удаляем}
mx:=0;mn:=255; {начальное значение}
textcolor(red);
writeln;
writeln('Строка без лишних пробелов: ',s);
while pos(' ',s)>0 do{пока есть пробел в строке}
begin
s1:=copy(s,1,pos(' ',s)-1);{копируем первое слово до пробела}
if length(s1)<mn then{если меньше всех}
begin
mn:=length(s1); {самая маленькая длина}
s2:=s1; {запоминаем слово}
end;
delete(s,1,pos(' ',s));{удаляем это слово следующее будет первым}
end;
textcolor(green);
writeln('Самое короткое слово ',s2);
readln
end.