Пропускай все через сердце
Здравствуйте!
Для учебной задачи пишу класс больших чисел, важной является именно самостоятельная реализация.
Понимаю,примеров много, но все таки ничто так не даст понимания,как самостоятельное написание,а,увы,с алгоритмикой совсем плохо(
Пишу на С#, но это не слишком принципиально.
Большое число представлено в виде массива, каждый элемент которого-разряд, представляет собой число от 0 до 9.
Инициализация, вывод-есть.
Есть !=, ==.
Так же перегрузила сложение, -- и ++.
Умножение-в процессе-более-менее.
Проблема с делением. Я вообще не представляю, как это можно сделать. (Деление большого числа на маленькое)
Деление-как деление в столбик. Но я даже приступиться не могу(
Буду благодарная за любого рода помощь, хотя бы принцип реализации, как это все надо реализовывать.
Спасибо большое...
Если необходимо-код приложу...
Для учебной задачи пишу класс больших чисел, важной является именно самостоятельная реализация.
Понимаю,примеров много, но все таки ничто так не даст понимания,как самостоятельное написание,а,увы,с алгоритмикой совсем плохо(
Пишу на С#, но это не слишком принципиально.
Большое число представлено в виде массива, каждый элемент которого-разряд, представляет собой число от 0 до 9.
Инициализация, вывод-есть.
Есть !=, ==.
Так же перегрузила сложение, -- и ++.
Умножение-в процессе-более-менее.
Проблема с делением. Я вообще не представляю, как это можно сделать. (Деление большого числа на маленькое)
Деление-как деление в столбик. Но я даже приступиться не могу(
Буду благодарная за любого рода помощь, хотя бы принцип реализации, как это все надо реализовывать.
Спасибо большое...
Если необходимо-код приложу...
Ну вроде бы и понятно...но и вместе с тем облом(
Вы и так уже реализовали самое сложное)
простое как раз таки сделала)
да я понимаю, что вы говорите, у меня всегда так)
но пальчиками сделать не выходит)
буду стараться,конечно...
меня например смущает вопрос, как осуществить деление,например,на двузначное число, если число от 0 до 9 на него по определению не делится
как вот осуществить "займ-не займ", объединение нескольких разрядов
самое сложное это умножение и деление большого на большое я его так и не сделал
в плане переноса все понятно, а вот в объединении + работы с конца массива я явно запуталась)
Т.е. взяли первые цифры обоих чисел, пытаемся поделить первое на второе. Не получилось? Значит умножаем первую цифру делимого на 10, прибавляем вторую цифру, пытаемся поделить нацело. Если получилось, находим остаток, и т. д.
умножение - умножаем последний элемент числа на то что нужно, если получилось больше 9 то остаток от деления на 10 пишем в результат, а целую часть запоминаем, умножаем следующий элемент на то что нужно и к результату прибавляем запомненную целую часть, и снова если больше 9
а насчет конца массива - я делал ф-цию которая "разворачивает" массив и начинал все действия с 1 элемента, а после выполнения нужных действий "разворачивал" массив обратно так проще мне кажется)