Этот код на паскале отвечает за нахождение самого длинного слова в одной! строчке. нужно сделать так, чтобы можно было записать сколько угодно строчек и он нашёл в них самое длинное слово (цикл добавить, по-моему). var s,st,smax: string; i: byte; begin readln(s); if s[length(s)]< > ' ' then s: =s+' '; st: =''; smax: =''; for i: =1 to length(s) do if s[i]< > ' ' then st: =st+s[i] else begin if length(smax) smax: =st; st: =''; end; writeln('самое длинное слово: ',smax); writeln('кол-во букв: ',length(smax)); end.

nika7912 nika7912    3   13.09.2019 07:20    0

Ответы
irunadp0a62f irunadp0a62f  07.10.2020 11:19
Var
s,st,smax: string;
i:byte;
BEGIN
writeln('Вводите строки. Конец ввода: <Enter> в начале строки.');
readln(s);
st:=''; smax:='';
while s<>'' do begin
 if s[length(s)]<>' ' then s:=s+' ';
 for i:=1 to length(s) do
  if s[i]<>' ' then st:=st+s[i]
  else begin
  if length(st)>length(smax) then smax:=st;
  st:='';
  end;
 readln(s);
end;
writeln('Самое длинное слово: ',smax);
writeln('Кол-во букв: ',length(smax));
END.

Пример (начало стихотворения “The Road Not Taken”, Роберт Ли Фрост):
Вводите строки. Конец ввода: <Enter> в начале строки.
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth.

Самое длинное слово: undergrowth.
Кол-во букв: 12
ПОКАЗАТЬ ОТВЕТЫ
0HIMiK0 0HIMiK0  07.10.2020 11:19
Так пойдет?

//Pascal
var s, s1, max: string;
begin
  writeln('Введите !exit для выхода.');
  repeat
    write('Введите строку: ');
    readln(s);
    if s <> '!exit' then
    begin
      s := s + ' '; // max:='';
      while Pos(' ', s) > 0 do
      begin
        s1 := Copy(s, 1, Pos(' ', s) - 1);
        Delete(s, 1, Pos(' ', s));
        if Length(s1) > Length(max) then max := s1;
      end;
    end;
  until s = '!exit';
  writeln('Самое длинное слово среди всех строк = ', max);
  writeln('Кол-во букв: ', Length(max));
  readln;
end.

Пример:
Введите !exit для выхода.
Введите строку: test
Введите строку: testtest
Введите строку: testtesttest
Введите строку: 123
Введите строку: 1234
Введите строку: 12345
Введите строку: !exit
Самое длинное слово среди всех строк = testtesttest
Кол-во букв: 12
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика