Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Класс обыкновенной дроби - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно исправить код, работа с файлами http://www.cyberforum.ru/cpp-beginners/thread740843.html
Помогите пожалуйста исправить код,он должен выводить победителя с максимальным баллом и правильной фамилией. #include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h>...
C++ Вычислить среднее арифметическое элементов непустого списка Нужно написать программу, буду благодарен тем, кто поможет. Вычислить среднее арифметическое элементов непустого списка http://www.cyberforum.ru/cpp-beginners/thread740842.html
C++ Программа на C++ найти делители
Найти все делители натурального числа n. программа на циклы
Задача на c++. Количество нулей в младших разрядах C++
Здраствуйте срочно нужно решение на c++. Задача: Дано натуральное число N (N>9). Определить количество нулей, идущих подряд в младших разрядах данного. Пример: N=1020000. Количество нулей равно двум.
C++ Выведите таблицу значений функции y = f (x) http://www.cyberforum.ru/cpp-beginners/thread740810.html
Выведите таблицу значений функции y = f (x).Таблица должна иметь две колонки: в первую заносят значение xi, а во вторую yi. f(x) = числитель: x (в квадрате) - 3х +2 , знаменатель: (корень разности...
C++ Пусть дано натуральное число n и вещественные числа x1,y1,x2,y2,.,xn,yn Пусть дано натуральное число n и вещественные числа x1,y1,x2,y2,...,xn,yn. Рассматривая пары xn yi как координаты точек на плоскости, определите радиус наименьшего круга с центром в начале... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619

Класс обыкновенной дроби - C++

21.12.2012, 10:39. Просмотров 995. Ответов 6
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
class TFraction
{
 public:
  signed int numerator;
  unsigned denominator;
  TFraction operator + (TFraction);
  TFraction operator - (TFraction);
  TFraction operator * (TFraction);
  TFraction operator / (TFraction);
  TFraction operator + (signed int);
  TFraction operator - (signed int);
  TFraction operator * (signed int);
  TFraction operator / (signed int);
  TFraction operator + (unsigned int);
  TFraction operator - (unsigned int);
  TFraction operator * (unsigned int);
  TFraction operator / (unsigned int);
  TFraction operator += (TFraction);
  TFraction operator -= (TFraction);
  TFraction operator *= (TFraction);
  TFraction operator /= (TFraction);
  TFraction operator += (signed int);
  TFraction operator -= (signed int);
  TFraction operator *= (signed int);
  TFraction operator /= (signed int);
  TFraction operator += (unsigned int);
  TFraction operator -= (unsigned int);
  TFraction operator *= (unsigned int);
  TFraction operator /= (unsigned int);
  bool operator == (TFraction);
  bool operator != (TFraction);
  bool operator > (TFraction);
  bool operator < (TFraction);
  bool operator >= (TFraction);
  bool operator <= (TFraction);
  bool operator == (signed int);
  bool operator != (signed int);
  bool operator > (signed int);
  bool operator < (signed int);
  bool operator >= (signed int);
  bool operator <= (signed int);
  bool operator == (unsigned int);
  bool operator != (unsigned int);
  bool operator > (unsigned int);
  bool operator < (unsigned int);
  bool operator >= (unsigned int);
  bool operator <= (unsigned int);
  friend TFraction operator + (signed int, TFraction);
  friend TFraction operator - (signed int, TFraction);
  friend TFraction operator * (signed int, TFraction);
  friend TFraction operator / (signed int, TFraction);
  friend TFraction operator + (unsigned int, TFraction);
  friend TFraction operator - (unsigned int, TFraction);
  friend TFraction operator * (unsigned int, TFraction);
  friend TFraction operator / (unsigned int, TFraction);
  friend bool operator == (signed int, TFraction);
  friend bool operator != (signed int, TFraction);
  friend bool operator > (signed int, TFraction);
  friend bool operator < (signed int, TFraction);
  friend bool operator >= (signed int, TFraction);
  friend bool operator <= (signed int, TFraction);
  friend bool operator == (unsigned int, TFraction);
  friend bool operator != (unsigned int, TFraction);
  friend bool operator > (unsigned int, TFraction);
  friend bool operator < (unsigned int, TFraction);
  friend bool operator >= (unsigned int, TFraction);
  friend bool operator <= (unsigned int, TFraction);
  ...
};
. При сложении и вычитании класс должен приводить оба операнда к общему знаменателю и выполнять целочисленную операцию с числителями, при умножении на дробь умножать отдельно числитель и отдельно знаменатель, при умножении на целое умножать только числитель, при делении на целое умножать знаменатель. Назначение - вычисления без потери точности в тех случаях, когда конечные, или промежуточные результаты не выражаются конечными двоичными десятичными дробями, но могут быть выражены конечными обыкновенными дробями и точное сравнение с целыми и между собой чисел, не выражаемых конечными двоичными десятичными дробями, выражаемых конечными обыкновенными дробями. А теперь три вопроса:
1. Чего не хватает в этой декларации?
2. Возможна ли перегрузка деления целых, возвращающая класс?
3. Имеет ли смысл перегрузка деления целых, возвращающая TFraction?
Третий вопрос одновременно является частью первых дух.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru