Вопрос задан 21.07.2023 в 21:10. Предмет История. Спрашивает Лысов Илья.

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

интернета.Pascal ABC.Помогите пожалуйста! ​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шелудько Ксения.
  1. uses crt;
  2. type fil=text;
  3. var f1:fil;
  4. a,b,c:string;
  5. i,w,n,y:integer;
  6. procedure wwod;
  7. begin
  8. assign(f1,'t1.dat');
  9. rewrite(f1);
  10. writeln('Введите кол-во строк в файле:');
  11. readln(y);
  12. for i:= 1 to y do
  13.    begin
  14.    writeln('Введите ',i,' строку');  {}
  15.    readln(a);
  16.    writeln(f1,a);
  17.    end;
  18. close(f1);
  19. end;
  20. procedure prosm;
  21. begin
  22. assign(f1,'t1.dat');
  23. reset(f1);
  24. writeln('Содержание текстового файла:');
  25. while not eof(f1) do
  26.      begin
  27.      a:='';
  28.      readln(f1,a);
  29.      writeln(a)
  30.      end;
  31. close(f1);
  32. end;
  33. procedure naxod;
  34. var max:string; i,i1:integer;
  35. begin
  36. assign(f1,'t1.dat');
  37. reset(f1);
  38. max:=''; i:=1;i1:=0;
  39. while not eof(f1) do
  40.      begin
  41.      a:='';
  42.      readln(f1,a);
  43.      if length(a)> length(max) then begin
  44.                           max:=a;
  45.                           i1:=i;
  46.                                 end;
  47.     inc(i);
  48.     end;
  49. writeln('Самая длинная строка: ',max,' (',i1,')');
  50. reset(f1);
  51. i:=1;
  52. while not eof(f1) do
  53.      begin
  54.      a:='';
  55.      readln(f1,a);
  56.      if (length(max)=length(a)) and (i<>i1)
  57.         then  writeln('Еше одна Самая длинная строка: ',max,' (',i,')');
  58.      inc(i);
  59.      end;
  60. close(f1);{}
  61. end;
  62. begin
  63. w:=0;      {обнуляем переменную для выбора меню}
  64. while w<>4 do begin   {пока не равно 4 }
  65.      writeln('           Меню программы');
  66.      writeln('1-Создание текстового файла');
  67.      writeln('2-Просмотр текстового файла');
  68.      writeln('3-Нахождение длинного строки');
  69.      writeln('4-Выход из программы');
  70.      write('             Ваш выбор -> ');
  71.      readln(w);
  72.      case w of
  73.           1:wwod;
  74.           2:prosm;
  75.           3:naxod;
  76.           end;
  77.      writeln
  78.      end;
  79. end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для определения самой длинной строки и её номера без использования массива в Pascal ABC, вы можете использовать следующий код:

pascal
program LongestString; var currentLine, longestLine: string; lineNumber, longestLineNumber: integer; begin lineNumber := 0; longestLineNumber := 0; longestLine := ''; writeln('Введите строки (введите "exit" для завершения ввода):'); repeat readln(currentLine); lineNumber := lineNumber + 1; if currentLine <> 'exit' then begin if length(currentLine) > length(longestLine) then begin longestLine := currentLine; longestLineNumber := lineNumber; end; end; until currentLine = 'exit'; if longestLineNumber > 0 then begin writeln('Самая длинная строка:'); writeln(longestLine); writeln('Номер строки:', longestLineNumber); end else begin writeln('Строки не были введены.'); end; end.

Этот код позволит пользователю вводить строки до тех пор, пока не будет введена строка "exit". После этого программа определит самую длинную строку и выведет её содержимое и номер на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории История

Последние заданные вопросы в категории История

Задать вопрос