вообщем нужно в одномерном вещественом массиве посчитать кол-во элемнтов, имеющих ненулевую дробную часть.
вот моя прога
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;
выдаёт ошибку
как вещественый массив проверить на кратность?
1 марта 2008 в 20:02
Сергей, незачто =)
1 марта 2008 в 17:02
Владимир, да написал что первое в голову пришло. )))
1 марта 2008 в 17:01
Спасибо Владимир!
т.е. вот такой ответ да?
//i001.radikal.ru/0803/7f/28f406681ef6.jpg
надеюсь это метод не рекурсии был?
1 марта 2008 в 17:00
ненулевую дробную часть – этож вроди остаток от деления = 0?
или я ошибаюсь?
1 марта 2008 в 17:00
Попробуй отбросить дробную часть от числа (не помню точно функции – поищи в хелпе) и отними то что получилось от исходного числа. Если результат – 0 инк(счетчик) иначе го дальше )
1 марта 2008 в 17:00
Первое что приходит в голову,
if Frac(a[i]) <>0 then k:=k+1;
Frac – возвращает дробную часть числа
1 марта 2008 в 17:00
Алексей, зачем лишнюю работу делать? проще сразу дробную часть взять =)
Сергей,насколько я помню функции Mod и Div работаю только с целочисленными данными. Поэтому остаток от деления на что-то там взять не получится. Тем более для получения дробной части, нужно брать остаток от деления на 1 =)
P.S. надеюсь понятно объяснил и фсе работает
1 марта 2008 в 16:05
"имеющих ненулевую дробную часть" и кратность – это же вроди разные вещи. %)