Переписать массив во вторую половину файла - Pascal ABC
Формулировка задачи:
Очень прошу помочь.
Записать на диск файл вещественных чисел. Первую половину компонент файла переписать в массив. Найти максимум массива и записать его вместо всех элементов второй половины файла. Файл и массив распечатать.
Мало того, что неправильно считает, так еще и тут выдает ошибку, мол "нельзя преобразовывать тип real к integer":
Решение задачи: «Переписать массив во вторую половину файла»
textual
Листинг программы
program z1; var f:file of real; b:array[1..100] of real; n,i,l:integer; a,max:real; begin write('n='); readln(n); assign(f,'f.dat'); rewrite(f); for i:=1 to n do begin write('a='); readln(a); write(f,a); end; close(f); reset(f); l:=filesize(f); writeln('Array: '); for i:=1 to l div 2 do Read(f,b[i]); max:=b[1]; for i:=1 to l do begin write(b[i]:8:2); if b[i]>max then max:=b[i]; end; writeln; writeln('Max: ',max:8:2); reset(f); for i:=l div 2+1 to l do begin seek(f,i-1); write(f,max); end; close(f); reset(f); writeln('File:'); while not eof(f) do begin read(f,a); write(a:8:2); end; readln; close(f); end.
Объяснение кода листинга программы
- Создается программа z1.
- Объявляются переменные: f - файл из реальных чисел, b - массив из 100 реальных чисел, n - количество чисел в массиве, i - индекс текущего элемента массива, l - размер массива, a - текущее число из массива, max - максимальное число в массиве, b[i] - i-ый элемент массива.
- Задается начальное значение max.
- Читаются данные из файла f в массив b.
- Находится максимальное число в массиве и присваивается переменной max.
- Выводится содержимое массива b.
- Записывается максимальное число в файл f.
- Сбрасывается файл f.
- Находится размер файла f.
- Выводится содержимое файла f.
- Записывается максимальное число в файл f.
- Сбрасывается файл f.
- Читаются данные из файла f до конца.
- Выводится содержимое файла f.
- Закрывается файл f.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д