• Нельзя преобразовать 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.

Ответы 6

  • Нельзя к A[i] применять mod, нужно сначала округлить A[i] до целого, например, функцией Trunc, как вариант, или подумать над другим алгоритмом
  • Либо сделать массив A из целых чисел.. всё зависит от конкретного задания
  • дана последовательность действительных чисел а1,а2...аn.Определить произведение элементов массива кратных 5
  • как-то так звучит задача ,может подскажешь как быть
    • Автор:

      franky
    • 6 лет назад
    • 0
  • Ну что за проблема? Проверяйте Frac(a[i]/5)=0
    • Автор:

      nathan68
    • 6 лет назад
    • 0
  • Ошибка заключается в том, что тип объявленного массива А является "real". Числа типа "real" не имеют операцию "остаток от деления на число". (Строчка, где это проверяется в Вашей программе: "if A[i] mod 5 <>0 then S:=S+A[i];")
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years