Получить гистограмму длин строк файла - Pascal ABC
Формулировка задачи:
Заданный текстовый файл. Получить гистограмму длин строк этого файла.
вот что мне удалось написать.
Что здесь не так?
Решение задачи: «Получить гистограмму длин строк файла»
textual
Листинг программы
program fajly; var f: text; a: array[1..100] of string; len: array[1..100] of integer; max, i, n, m, j: integer; s: string; begin assign(f, 'f.txt'); rewrite(f); write('N= '); readln(n); for i := 1 to n do begin m := random(n); s := ''; for j := 1 to m do s := s + '#'; writeln(s); end; close(f); reset(f); i := 0; while not eof(f) do begin inc(i); readln(f, a[i]); end; close(f); n := i; for I := 1 to n do len[i] := length(a[i]); for I := 1 to n do begin for j := 1 to len[i] do write('#'); writeln; end; readln; end.
Объяснение кода листинга программы
- В программе объявлены переменные: f (тип text), a (массив строк), len (массив целых чисел), max, i, n, m, j (целые числа).
- Задается имя файла для чтения и записи - 'f.txt'.
- Выполняется операция перезаписи файла 'f' с помощью функции rewrite(f).
- Выводится сообщение 'N= ' и считывается значение переменной n.
- Для каждой строки в файле 'f' выполняется цикл for i := 1 to n do.
- Внутри цикла генерируется случайное число m от 1 до n.
- Строка s инициализируется пустой строкой.
- Для каждой цифры от 1 до m выполняется цикл for j := 1 to m do.
- Каждая цифра добавляется к строке s с помощью оператора конкатенации.
- Выводится строка s.
- Выполняется операция rewrite(f) для очистки файла перед следующим чтением.
- Считывается следующая строка из файла 'f' с помощью функции readln(f, a[i]).
- Значение переменной i увеличивается на единицу.
- Выполняется цикл while не достигнуто условие eof(f) do.
- После каждого чтения строки из файла 'f' вызывается функция close(f).
- Переменная n инициализируется значением i.
- Для каждой строки в файле 'f' выполняется цикл for I := 1 to n do.
- Вычисляется длина строки a[i] с помощью функции length(a[i]).
- Выводится символ '#' для каждой строки a[i].
- Выводится символ '\n' для завершения строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д