Предмет: Информатика, автор: pamagite25

Вводятся строки. Определить самую длинную строку и вывести её номер на экран.Паскаль ABC, без массива.​


thedomidy: и каким образом завершить ввод?
pamagite25: writeln
pamagite25: end.

Ответы

Автор ответа: thedomidy
0

Программа написана на PascalABC.NET 3.4.2, сборка 1979 (16.02.2019), но компилироваться должна и на обычном Pascal

не указано, как именно завершать ввод, поэтому сделал завершение словом exit

Код

  1. program task31784852;
  2. var
  3.  number, maxLength, maxNumber: integer;
  4.  inputIsTrue: boolean;
  5.  inputString, maxLengthString: string;
  6. begin
  7.  inputIsTrue := false;
  8.  maxLength := 0;
  9.  
  10.  Writeln('Напишите exit, чтобы завершить ввод и получить результат');
  11.  
  12.  while inputIsTrue = false do
  13.    begin
  14.      Readln(inputString);
  15.      if Length(inputString) = 0 then
  16.        continue;
  17.      if inputString = 'exit' then
  18.        break;
  19.      number := number + 1;
  20.      if Length(inputString) > maxLength then
  21.        begin
  22.          maxLength := Length(inputString);
  23.          maxLengthString := inputString;
  24.          maxNumber := number;
  25.        end;
  26.    end;
  27.  Writeln('Самая длинная строка с номером ', number, ': ', maxLengthString);
  28. end.

Проверка

Напишите exit, чтобы завершить ввод и получить результат

a

aa

aaa

aaaaaalsd

pwpefowpeofkpwef

................

...................

123462048201180301313031

https://znanija.com/task/31784852

exit

Самая длинная строка с номером 9: https://znanija.com/task/31784852


thedomidy: в проверке сайт немного урезал ссылку (там должно быть https://), а не просто znanija.com, так что там всё правильно
Похожие вопросы
Предмет: Математика, автор: Алла111325
Предмет: История, автор: gufivan