
Вопрос задан 21.07.2023 в 21:10.
Предмет История.
Спрашивает Лысов Илья.
Вводятся строки. Определить самую длинную строку и вывести её номер на экран.Без массива,
интернета.Pascal ABC.Помогите пожалуйста! 

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

Отвечает Шелудько Ксения.
- uses crt;
- type fil=text;
- var f1:fil;
- a,b,c:string;
- i,w,n,y:integer;
- procedure wwod;
- begin
- assign(f1,'t1.dat');
- rewrite(f1);
- writeln('Введите кол-во строк в файле:');
- readln(y);
- for i:= 1 to y do
- begin
- writeln('Введите ',i,' строку'); {}
- readln(a);
- writeln(f1,a);
- end;
- close(f1);
- end;
- procedure prosm;
- begin
- assign(f1,'t1.dat');
- reset(f1);
- writeln('Содержание текстового файла:');
- while not eof(f1) do
- begin
- a:='';
- readln(f1,a);
- writeln(a)
- end;
- close(f1);
- end;
- procedure naxod;
- var max:string; i,i1:integer;
- begin
- assign(f1,'t1.dat');
- reset(f1);
- max:=''; i:=1;i1:=0;
- while not eof(f1) do
- begin
- a:='';
- readln(f1,a);
- if length(a)> length(max) then begin
- max:=a;
- i1:=i;
- end;
- inc(i);
- end;
- writeln('Самая длинная строка: ',max,' (',i1,')');
- reset(f1);
- i:=1;
- while not eof(f1) do
- begin
- a:='';
- readln(f1,a);
- if (length(max)=length(a)) and (i<>i1)
- then writeln('Еше одна Самая длинная строка: ',max,' (',i,')');
- inc(i);
- end;
- close(f1);{}
- end;
- begin
- w:=0; {обнуляем переменную для выбора меню}
- while w<>4 do begin {пока не равно 4 }
- writeln(' Меню программы');
- writeln('1-Создание текстового файла');
- writeln('2-Просмотр текстового файла');
- writeln('3-Нахождение длинного строки');
- writeln('4-Выход из программы');
- write(' Ваш выбор -> ');
- readln(w);
- case w of
- 1:wwod;
- 2:prosm;
- 3:naxod;
- end;
- writeln
- end;
- end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для определения самой длинной строки и её номера без использования массива в Pascal ABC, вы можете использовать следующий код:
pascalprogram 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". После этого программа определит самую длинную строку и выведет её содержимое и номер на экран.


Похожие вопросы
Топ вопросов за вчера в категории История
Последние заданные вопросы в категории История
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili