
Написать программу в паскале, определяющую самую длинную строку в текстовом документе, заменить все
символы этой строки на звёздочки

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

// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadAllLines('foos.txt');
var i:=a.Select(l->l.Length).ToArray.IndexMax;
a[i]:='*'*a[i].Length;
WriteAllLines('foos1.txt',a);
ReadAllText('foos1.txt').Println
end.
Входной файл foos.txt должен находиться в одной папке с программой. Результат помещается в файл foos1.txt с тем ,чтобы не менять входной файл - это позволяет запустить задачу несколько раз. Если результат нужно поместить в тот же файл, замените foos1.txt на foos.txt.
Пример
Написать программу в паскале, определяющую самую
**************************************************
символы этой строки на звёздочки.
Входной файл дан во вложении.



Конечно, я могу помочь с написанием программы на Pascal, которая определит самую длинную строку в текстовом документе и заменит все символы этой строки на звёздочки. Ниже приведен пример программы:
```pascal program LongestStringReplace;
const MaxLines = 1000; // Максимальное количество строк в текстовом документе MaxLength = 255; // Максимальная длина строки
var FileName: string; FileContent: array[1..MaxLines] of string[MaxLength]; LongestString: string[MaxLength]; TotalLines, LongestLength, i, j: integer;
procedure ReadFile; var TextFile: text; begin assign(TextFile, FileName); reset(TextFile); TotalLines := 0; while not eof(TextFile) do begin TotalLines := TotalLines + 1; readln(TextFile, FileContent[TotalLines]); end; close(TextFile); end;
procedure FindLongestString; begin LongestLength := 0; for i := 1 to TotalLines do begin if Length(FileContent[i]) > LongestLength then begin LongestLength := Length(FileContent[i]); LongestString := FileContent[i]; end; end; end;
procedure ReplaceWithStars; begin for i := 1 to LongestLength do LongestString[i] := '*'; end;
procedure WriteToFile; var TextFile: text; begin assign(TextFile, FileName); rewrite(TextFile); for i := 1 to TotalLines do begin writeln(TextFile, FileContent[i]); end; close(TextFile); end;
begin writeln('Введите имя текстового файла:'); readln(FileName); ReadFile; FindLongestString; ReplaceWithStars; WriteToFile; writeln('Самая длинная строка была заменена на звездочки и записана обратно в файл.'); end. ```
Программа сначала считывает текстовый файл, затем находит самую длинную строку, заменяет все символы этой строки на звёздочки и записывает изменения обратно в файл. Пожалуйста, учтите, что данная программа предполагает, что строки в текстовом файле не превышают 255 символов, и максимальное количество строк не превышает 1000. Вы можете адаптировать константы под свои нужды.


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