singlepost

Pascal (вопрос по задаче 2) << На главную или назад  

вообщем нужно в одномерном вещественом массиве посчитать кол-во элемнтов, имеющих ненулевую дробную часть.

вот моя прога

program kol_el;
const n=5;
var a:array[1..n] of real;
i:1..n; k:integer;
……Beginrandomize;
…….for i:=1 to n do
…….a[i]:=random(2*n)-0.2;
……..for i:=1 to n do
……..if a[i] mod 2<>0 then k:=k+1;
……..writeln('кол-во отриц эл= ',k);
…….readln
……End.

в этой строчке
……..if a[i] mod 2<>0 then k:=k+1;
выдаёт ошибку

как вещественый массив проверить на кратность?

8 ответов в теме “Pascal (вопрос по задаче 2)”

  1. 8
    Владимир Шакшин ответил:

    Сергей, незачто =)

  2. 7
    Алексей Божко ответил:

    Владимир, да написал что первое в голову пришло. )))

  3. 6
    Сергей Владимирович ответил:

    Спасибо Владимир!
    т.е. вот такой ответ да?
    //i001.radikal.ru/0803/7f/28f406681ef6.jpg

    надеюсь это метод не рекурсии был?

  4. 5
    Сергей Владимирович ответил:

    ненулевую дробную часть – этож вроди остаток от деления = 0?
    или я ошибаюсь?

  5. 4
    Алексей Божко ответил:

    Попробуй отбросить дробную часть от числа (не помню точно функции – поищи в хелпе) и отними то что получилось от исходного числа. Если результат – 0 инк(счетчик) иначе го дальше )

  6. 3
    Владимир Шакшин ответил:

    Первое что приходит в голову,
    if Frac(a[i]) <>0 then k:=k+1;
    Frac – возвращает дробную часть числа

  7. 2
    Владимир Шакшин ответил:

    Алексей, зачем лишнюю работу делать? проще сразу дробную часть взять =)

    Сергей,насколько я помню функции Mod и Div работаю только с целочисленными данными. Поэтому остаток от деления на что-то там взять не получится. Тем более для получения дробной части, нужно брать остаток от деления на 1 =)

    P.S. надеюсь понятно объяснил и фсе работает

  8. 1
    Владимир Шакшин ответил:

    "имеющих ненулевую дробную часть" и кратность – это же вроди разные вещи. %)

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.