Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

я хочу чтобы дроби типо (12/3 или 169/13) сокращались автоматически.... не знаю как, а простые действия сделать то не сложно
4aineg вне форума   Ответить с цитированием
Старый 08.12.2006, 20: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, 07:34   #5
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 419
По умолчанию

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, 16:01   #6
4aineg
 
Регистрация: 08.12.2006
Сообщений: 3
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


17:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.