Показать сообщение отдельно
Старый 28.08.2005, 23:40     # 2
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
На Паскале:
Цитата:
function NOD(x,y:longint):longint;
begin
if x<>0 then NOD:=NOD(y mod x,x) else NOD:=y;
end;

function NOK(x,y:longint):longint;
begin
NOK:=( x div NOD(x,y) ) * y;
end;
НОК знаменателей двух дробей и будет твой общий знаменатель.
Для сравнения дробей просто приводи их к десятичной форме, т.е. дели числитель на знаменатель. А такие числа уже можно сравнивать в том же операторе if.

Для организации хранения в программе простых дробей видимо придется описать соответствующие структуры.
Вот тебе пример на Паскале, где реализовано хранение простых дробей и все основные операции http://www.mai.ru/org/auditory/program/pas/solver/solv0002.htm
ЕЖ вне форума