Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2006, 18:03   #1
4aineg
 
Регистрация: 08.12.2006
Сообщений: 3
Восклицание Простые дроби

Дана задача по простым дробям и действиям между ними (сложение,вычитание,умножение,делен ие). Допустим хотя бы 2 дроби.
Недоумеваю как сделать сокращение....
4aineg вне форума Ответить с цитированием
Старый 08.12.2006, 18:28   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Пиши функции... Или что ты хочешь сократить?
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 08.12.2006, 19:01   #3
4aineg
 
Регистрация: 08.12.2006
Сообщений: 3
По умолчанию

я хочу чтобы дроби типо (12/3 или 169/13) сокращались автоматически.... не знаю как, а простые действия сделать то не сложно
4aineg вне форума Ответить с цитированием
Старый 08.12.2006, 19:31   #4
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Так и не понял, что именно тебе нужно, но держи код для любого числителя и знаменателя:
Код:
procedure IntSimple(x,y: real): integer;
begin
IntSimple:=x div y;
end;
 
procedure Simple(x,y: real): real;
begin
if (x mod y)=0 then IntSimple(x,y) else Simple:=x/y;
end;
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 09.12.2006, 06:34   #5
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

a/b - дробь

Подели числитель и знаменатель на НОД(a,b) этих чисел,
а для нахождения НОДа используй Алгоримт - Эвклида.
5-класс средней школы урок математики вспомни.

Код:
m := a;
n := b;
while not ((m=0) or (n=0)) do
   if m >= n then m := m - n else n := n - m;
if m = 0 then k := n else k := m;
НОД=k как ты понял, надеюсь...
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 09.12.2006, 15:01   #6
4aineg
 
Регистрация: 08.12.2006
Сообщений: 3
По умолчанию

Cпасибо парни, буду пробывать если будут еще светлые мысли, делитесь,хотя и за это биг сэнкс
4aineg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простые вопросы по C++ ERASERROR Помощь студентам 3 24.03.2008 16:58
простые числа Акашаев Нурлан Паскаль, Turbo Pascal, PascalABC.NET 2 05.12.2007 12:23
преобразование десятичной дроби в обыкновенную и обратно, Delphi ИгорьОК Помощь студентам 4 04.04.2007 21:12