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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2015, 18:18   #1
Microthel
 
Регистрация: 06.10.2014
Сообщений: 3
По умолчанию Перезагрузка функции для деления дробей (C++)

Задание:
1. Напишите перезагруженные функции:
- для деления обычных дробей;
- для деления десятичных дробей;
2. Напишите функцию mult с переменным числом параметров, которая находит произведение положительных чисел типа float.

Для деления десятичных дробей написал такое:

Код:
double des_dil(double a, double b){
return a/b;
}
 
float des_dil (float a, float b){
return a/b;
}
А вот с обычными дробями проблема... Задумка была такая: Считываем строку (например: "12/18"), ищем числитель и запоминаем его, потом делаем также со знаменателем, преобразовываем их из типа string в double, делим и получаем значение одной дроби. Вот такое "извращение" у меня получилось, но только когда все это реализовано в главной функции main и это только для одного дробя. А при написании полноценной функции программа просто прекращает свою работу. Вот как я єто делал:

Код:
double drob_dil (char d[255], char s[255]){
const int n=255;
char d1[n], d2[n], s1[n], s2[n];
int i=0, j=0, k=0;
double r1=0.0, r2=0.0;
 
//ищем числитель
while (d[i]!='/') {
    d1[i]=d[i];
    i++;
};
j=i;
i=0;
//ищем знаменатель
for (k=j+1; k<=(strlen(d)-1); k++){
    d2[i]=d[k];
    i++;
};
 
r1=(atof(d1)/atof(d2));
i=0; k=0; j=0;
 
while (s[i]!='/') {
    s1[i]=s[i];
    i++;
    j=i;
};
 
i=0;
for (k=j+1; k<=(strlen(s)-1); k++){
    s2[i]=s[k];
    i++;
};
 
r2=(atof(s1)/atof(s2));
 
return r1/r2;
}
Может кто нибудь знает как можно сделать это проще?
Microthel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции. Пусть s- множество всех рациональных чисел, представимых в виде несократимых дробей m/n veronika55214 Паскаль, Turbo Pascal, PascalABC.NET 0 17.12.2013 19:09
Создание класса дробей. Пример на сложение двух дробей. Помогите найти ошибку (С++) Сергей.Ш Общие вопросы C/C++ 5 28.10.2013 13:24
программа канкулятор, только для дробей. korib Помощь студентам 1 04.05.2011 16:20
Перегрузка операций для класса дробей Fataller Общие вопросы C/C++ 4 29.05.2010 18:08
процедурки и функции для сложения простых дробей Frenki Паскаль, Turbo Pascal, PascalABC.NET 14 04.05.2009 08:45