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

Смоделировать операцию умножения двух целых чисел длиной до 30 десятичных цифр каждое - C++

Войти
Регистрация
Восстановить пароль
 
Elizaveta19
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 6
19.02.2014, 00:08     Смоделировать операцию умножения двух целых чисел длиной до 30 десятичных цифр каждое #1
Смоделировать операцию умножения двух целых чисел длиной до 30 десятичных цифр каждое. Результат выдать в форме (zn)0.m E N, где длина мантиссы m - до 30 значащих цифр, а величина порядка N - до 5 цифр.

Пыталась решить задачу, но не получается. Ниже привожу кусок кода, в котором перемножаются 2 числа, а результат заносится в новый объект. 1) считает не правильно 2) результат все равно не сохраняется. Помогите, пожалуйста

Числа хранятся в "конце", т.е. число 5 хранится как 00...005

Добавлено через 2 минуты


C++ (Qt)
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
const h=29;
 
class Number{
public:
    int N; // величина порядка
    int m[h]; //мантисса
    bool zn; //знак числа
 
    Number();
    Number(int [h], int, bool);
    Number(const Number&);
    ~Number();
    Number operator * (const Number);  //перегрузка бинарного оператора умножение
    Number operator = (const Number);//перегрузка бинарного оператора присвоения
    void Show();// Функция вывода числа на экран
 
};
 
Number Number :: operator * (const Number ob){
    Number a;
    int b[h];
    a.zn = (zn == ob.zn);
    a.N = N + ob.N;
    int k=0;
    for(int i=h-1, x=0; i>=0; i--){
        int temp = 0;
        k = h-x;
        for(int j = h-1; j>=0; j--, k--){
            b[k] += temp;
            temp = m[i] * ob.m[j];
            b[k] += temp%10;
            temp = temp/10;
        }
        for(int y = 0; y<h; y++){
            a.m[y] += b[y];
            cout<<b[y];
            b[y] = 0;
        }
        x++;
    }
    return a;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 00:08     Смоделировать операцию умножения двух целых чисел длиной до 30 десятичных цифр каждое
Посмотрите здесь:

C++ Рекурсия: Написать функцию умножения двух чисел, используя только операцию сложения
C++ : Написать функцию умножения двух чисел, используя только операцию сложения
C++ Смоделировать операцию умножения двух целых чисел
Написать функцию умножения двух чисел, используя только операцию сложения C++
Определить, в каком из двух целых чисел больше цифр C++
C++ Как вычислит общий делитель для двух целых десятичных чисел??
Среди десятичных чисел найти те, в которых нет одинаковых цифр C++
C++ Написать программу умножения двух целых чисел "в столбик"
C++ Рекурсия: функция умножения двух чисел, используя только операцию сложения
C++ Даны цифры двух десятичных целых чисел
C++ Получить два целых числа и найти их произведение, не используя операцию умножения
C++ Найти сумму цифр двух целых двухзначных чисел a и b, написав функцию определения цифр в числе

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
19.02.2014, 02:22
  #2
Эта тема была перенесена из раздела Visual C++.

Перенес: BumerangSP
Ответ Создать тему
Опции темы

Текущее время: 13:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru