![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
exmahinator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2011 Репутация: нет Всего: нет |
Еще раз добрый день форумчанам!
Есть задача, а как ее делать - непонятно. На мое мнение задачка не легкая. Создать класс Decimal для работы с беззнаковыми десятичными числами, используя для представления числа массив из 100 элементов типа unsigned char, каждый из которых является десятичной цыфрой. Младшая цифра имеет меньший индекс (единицы - в нулевом элементе массива). Реальный размер массива задаеться как аргумент конструктора инициализации. Реализовать арифметические операции, аналогичные встроенным для целых в С++, и операции сравнения. Дополнительно к требуемым в задании операциях перегрузить операцию индексирования []. Максимально возможный размер массива задать константой. В отдельном поле size должно храниться максимальное для данного обьекта количество элементов массива; реализовать метод size(), возвращающий установленную длину. Если количество элементов массива изменяется во время работы, определить в классе поле count. Первоначальные значения в поле count и size устанавливаются конструктором. В этой задаче немогу понять КАК ее даже начать делать. КАК представить числа через слова? Пробывал искать на разных источниках - фактически ничего не нашел. Поэтому обращаюсь с просьбой к этому отличному форуму. Буду признателен за любую помощ в решении этой задачки. |
|||
|
||||
t_gran |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
А никто и не говорит их представлять как слова. Дело в том что минимальный тип данных это unsigned char и равен 1-му байту. А так как у нас вариантов чисел всего 10-ть, то нам этого типа за глаза хватит. В общем я реализовал только сложение. Я думаю по аналогии вы сможете и остальное сделать.
Результат выполнения Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() -------------------- Я знаю, что ничего не знаю© Сократ ![]() |
||||
|
|||||
exmahinator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2011 Репутация: нет Всего: нет |
По аналогии это типа
? |
|||
|
||||
t_gran |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
Нет, по аналогии, это типа:
А вот потом уже
-------------------- Я знаю, что ничего не знаю© Сократ ![]() |
||||||
|
|||||||
exmahinator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2011 Репутация: нет Всего: нет |
А в строчке
что надо менять то? Пробывал сделать вместо первого "+" - "-" и разницу написало 180000000 - незнаю или это так с Вашими данными. Но * и / неполучаеться сделать - дает ошибку. |
|||
|
||||
t_gran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
Простите, но вы что, с дуба рухнули? Просто поменять "+" на "-" это конечно оригинально. Вы наверное в университете учитесь, а операции столбиком уже забыли? То что я вам продемонстрировал на + - это и есть сложение столбиком. А теперь вспоминайте вычитание столбиком, умножение столбиком и деление столбиком. -------------------- Я знаю, что ничего не знаю© Сократ ![]() |
|||
|
||||
exmahinator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2011 Репутация: нет Всего: нет |
ну пытаюсь розобраться в том, как и что изменить... Я знаю как они по арифметически делаються, а вот на програмном уровне - увы нет... Я по этому какраз и росспрашиваю всех кого возможно как это програмно делать, так как я больше по части физики могу что-нибуть делать, а програмирование очень трудный предмет...
Это сообщение отредактировал(а) exmahinator - 8.12.2011, 18:04 |
|||
|
||||
t_gran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: 33 Всего: 37 |
Ну вот вам реализация вычитания. С делением и умножением немного сложнее, а у меня сейчас времени нет. Поэтому давайте уж сами.
Результат выполнения Это сообщение отредактировал(а) t_gran - 9.12.2011, 09:37 Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() -------------------- Я знаю, что ничего не знаю© Сократ ![]() |
|||
|
||||
exmahinator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.11.2011 Репутация: нет Всего: нет |
кстати приблизительно о такой замене и думал... но был неуверен.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |