Выдает ошибку " Нельзя преобразовать тип real к integer" - Pascal
Формулировка задачи:
Столкнулся с такой проблемой, что когда начинаю выводить процедуры в конце там где Vvod_mas(m[i]) выдает ошибку
" Нельзя преобразовать тип real к integer".Как ее исправить? И если не затруднит проверьте остальной код.
program mas3;
const
n_st = 8;
procedure Vvod_mas(i: integer);
var
m: array[1..n_st] of real;
begin
writeln('Введите массив из ', n_st, ' строк:');
for i := 1 to n_st do
readln(m[i]);
writeln('Ваш массив:');
for i := 1 to n_st do
write(' m[', i:2, ']= ', m[i]:1:1);
writeln;
end;
procedure Poisk_max(max: real; i: integer);
var
m: array[1..n_st] of real;
begin
writeln('Максимальное число массива:');
max := m[1];
for i := 1 to n_st do
begin
if m[i] > max then
max := m[i];
end;
writeln(' m[', i:2, ']= ', max:1:1);
readln;
end;
procedure summa(sum, s: real; i: integer);
var
m: array[1..n_st] of real;
begin
writeln('Сумма от первого элемента до максимального элемента:');
sum := 0;
begin
for i := 1 to 8 do
s := s + m[i];
sum := s;
end;
writeln('Сумма от максимального элемента до конца массива:');
begin
for i := 8 to n_st do
s := s + m[i];
sum := s;
end;
end;
var
m: array[1..n_st] of real;
i: integer;
begin
Vvod_mas(m[i]);
Poisk_max(max);
summa(sum);
readln;
end.Решение задачи: «Выдает ошибку " Нельзя преобразовать тип real к integer"»
textual
Листинг программы
procedure Vvod_mas;
var i: integer;
...
procedure Poisk_max;
var max: real; i: integer;
...
procedure summa;
var sum, s: real; i: integer;
...
{не забудьте добавить вывод найденных сумм}
...
begin
Vvod_mas;
Poisk_max;
summa;
Объяснение кода листинга программы
- Создается процедура Vvod_mas с переменной
iтипаinteger. - Создается процедура Poisk_max с переменной
maxтипаrealи переменнойiтипаinteger. - Создается процедура summa с переменными
sumиsтипаrealи переменнойiтипаinteger. - В основной программе вызываются процедуры Vvod_mas, Poisk_max и summa.
- При вызове происходит попытка преобразовать значение переменной типа
realк типуinteger, что приводит к ошибкеНельзя преобразовать тип real к integer.