Другие языки программирования и технологии

ПОМОГИТЕ С ИНФОРМАТИКОЙ ПОЖАЛУЙСТА !!!паскаль авс

Написать программу: Ввести с клавиатуры символьную строку и найдите самое длинное слово и его длину. Словом считается последовательности непробельных символов, отделенная с двух сторон пробелами (или стоящая с краю строки). Слова могут быть разделены несколькими пробелами, в начале и в конце строки тоже могут быть пробелы.
примени эту программу
var // описание переменных
s: string;
i, id, len, max, n: byte;
begin // начало тела программы
readln(s); // ввод строки с клавиатуры
len := length(s); // переменной len значения длины строки
max := 0; // присвоение нулевых значений переменным max, id и n
id := 0;
n := 0;
for i:=1 to len do // цикл с параметром i от 1 до len
if s[i] <> ' ' then // если очередной символ строки не = пробелу
n := n + 1 // увеличение счетчика символов слова на 1
else begin // иначе
if n > max then // если число символов > max
begin
max := n; // max = n;
id := i - n; // присвоение номеру позиции МАХ длины слова
end;
n := 0 // присвоение нулевого значений переменной n
end;
if n > max then begin // если число символов > max
max := n; // max = n;
id := len - n + 1; // вычисление номеру позиции МАХ длины слова
end;
writeln(copy(s,id,max)); // вывод на экран максимального слова (начиная с id
// количество символов max
end.
Алексей Батырев
Алексей Батырев
95 951
Лучший ответ
Леонид Головин Не вздумай платить "Зотикову", который тебе ответил, будет у тебя деньги выпрашивать за решения– кидает тут всех тупо на бабки! Моего друга кинул на 320 руб – денег не вернул!!!
Program z3;
var s,p:string; k,i:integer;
begin
writeln('String:'); readln(s); s:=' '+s+' ';
for i:=2 to length(s) do
begin
if (s[i-1]=' ')and(s[i]<>' ') then k:=i;
if (s[i-1]<>' ')and(s[i]=' ')and(i-k>length(p)) then p:=copy(s,k,i-k)
end;
writeln('Word: ',p,', Length=',length(p)); readln
end.