Перемешать предложения, и вывести результат в другой текстовый файл - Pascal ABC
Формулировка задачи:
Требуется программа которая будет считывать текст составленный из предложений, из файла, перемешивать предложения, и выводить результат в другой текстовый файл. Каждый раз перемешивание должно быть различным. Помогите пожалуйста.
Решение задачи: «Перемешать предложения, и вывести результат в другой текстовый файл»
textual
Листинг программы
uses crt; const N = 1000; var f: text; t, a: string; i, j, k, l, c: integer; p: array[1..N] of string; begin l := 0; k := 1; j := 0; assign(f, 'input.txt'); reset(f); repeat readln(f, a); t := t + a; until eof(f); close(f); for i := 1 to length(t) do begin l := l + 1; if t[i] = '.' then begin c := c + 1;j := j + 1;p[j] := copy(t, k, l);l := 0;k := i + 1; end; end; assign(f, 'output.txt'); rewrite(f); for i := 1 to j do begin c := random(j) + 1; write(f, p[c]); end; close(f); end.
Объяснение кода листинга программы
- В начале кода объявляются необходимые переменные и константы.
- Задается имя файла для чтения и записи данных -
input.txt
иoutput.txt
. - Строка
t := t + a;
- переменнаяt
увеличивается на значение переменнойa
. - Чтение данных из файла
input.txt
в переменнуюt
до тех пор, пока не достигнут конец файла. - Переменная
t
содержит итоговую строку, которая будет записана в файлoutput.txt
. - Цикл
for
используется для перебора индексов массиваp
. - Если текущий символ в строке
t
является точкой, то увеличиваются значения переменныхc
иj
, а также копируется подстрока изt
вp
с индексомj
. После этого обнуляются счетчикиl
иk
. - В цикле
for
генерируется случайное число от 1 доj
для каждого символа вt
. - Записывается символ из
p
с соответствующим индексом в файлoutput.txt
. - После завершения цикла
for
файлoutput.txt
закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д