Нельзя преобразовать Real к integer проверил раз 10 , не могу найти ошибку!!!
Program Lol;
Const N=20;
Var A:array [1..N] of real;
S:real;
i:integer;
begin
S:=0;
for i:=1 to 10 do
begin
A[i]:=10*Random-1*(-1);
if A[i] mod 5 <>0 then S:=S+A[i];
writeln('A[',i,']=',A[i]:1:2);
end;
writeln('S=',S:1:2);
end.
Ответы на вопрос
Ответил Maksim2009rus
0
Ошибка заключается в том, что тип объявленного массива А является "real". Числа типа "real" не имеют операцию "остаток от деления на число". (Строчка, где это проверяется в Вашей программе: "if A[i] mod 5 <>0 then S:=S+A[i];")
Ответил Maksim2009rus
0
Нельзя к A[i] применять mod, нужно сначала округлить A[i] до целого, например, функцией Trunc, как вариант, или подумать над другим алгоритмом
Ответил Maksim2009rus
0
Либо сделать массив A из целых чисел.. всё зависит от конкретного задания
Ответил Max161161161
0
дана последовательность действительных чисел а1,а2...аn.
Определить произведение элементов массива кратных 5
Определить произведение элементов массива кратных 5
Ответил Max161161161
0
как-то так звучит задача ,может подскажешь как быть
Ответил Аноним
0
Ну что за проблема? Проверяйте Frac(a[i]/5)=0
Новые вопросы
Геометрия,
1 год назад
Алгебра,
1 год назад
Математика,
7 лет назад
Математика,
7 лет назад
Химия,
8 лет назад
Математика,
8 лет назад