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

Классы, Длинная арифметика, LongLong - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поменять знаки тех элементов массива, которые встречаются в нем один раз http://www.cyberforum.ru/cpp-beginners/thread321827.html
поменять на противоположные знаки тех элементов массива,которые встречаются в массиве ровно 1 раз
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов Ребят, надо написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет среднее арифметическое его элементов. Может кто-нибудь помочь? Просто завтра сдавать работу (зачет) а я нифига не понял в этой теме ((( http://www.cyberforum.ru/cpp-beginners/thread321822.html
C++ Работа с символьными строками
Надо на Borlande настрочить,кто может помогите:Дано строку.Сформировать строку, которыя бы содержал отделеные пробелами номера вхождений цифровых символов исходной строки, если такие там есть,и найти сумму этих номеров.
Циклические алгоритмы C++
Ребята,надо на Borland C++ 5.02 сделать,вот задание:Дано натуральне число n. Обчислити P=(1+1/1)(1+1/2{)}^{2}...(1+1/n{)}^{n}
C++ Даны два произвольных одномерных массива действительных чисел М1 и М2. Сформировать слиянием этих массивов упорядоченный массив М3 http://www.cyberforum.ru/cpp-beginners/thread321759.html
Помогите с работой на Borland C++ 5.02:Даны два произвольных одномерных массива действительных чисел М1 и М2. Сформировать слиянием этих массивов упорядоченный массив М3. Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержимое.
C++ Дано произвольный одномерный массив целых чисел М и натуральное число n. Определить, если такие есть, количество чисел n в массиве М и их индексы Ребята,помогите с заданием: Дано произвольный одномерный массив целых чисел М и натуральное число n. Определить, если такие есть, количество чисел n в массиве М и их индексы.Только сделать на Borland C++ 5.02,А не на dev-e. Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержимое. подробнее

Показать сообщение отдельно
Yellow2815
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 12
17.06.2011, 22:25     Классы, Длинная арифметика, LongLong
Добрый день,

Задание изначально было такое:

Реализовать класс Money , используя для представления рублей класс LongLong.

Класс Money - представлен двумя полями LongLong для рублей и unsigned char для копеек. Дробная часть (копейки) при выводе на экран должна быть отделена от целой части запятой. Реализовать сложение, вычитание, деление сумм, деление суммы на дробное число, умножение на дробное число и операции сравнения.

Класс LongLong для работы с целыми числами из 64 бит. Число должно быть представлено двумя полями: unsigned long — старшая часть, unsigned long — младшая часть. Должны быть реализованы арифметические операции, присутствующие в С++ (без присваивания), и сравнения.

Класс Money реализовал, а проблема в следующем:

Сложение и умножение для LongLong довольно просто реализуется - складываем левые части, складываем правые. Если в левой появился новый разряд, прибавляем в правую. Вычитание тоже ясно, а как быть с умножением?! Как перемножить два longlong если они каждый из двух частей, причём long. Сколько где разрядов получится? Как сделать чтобы не сильно не вылез? А деление я вообще сложно представляю...

В общем, меня как раз и волнуют реализация умножения и деления. Буду рад любым советам. Видел на форуме Валерия Викторовича. Буду очень признателен, если он объяснит какими методами предполагалось решение его задач.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru