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

Длинная арифметика. Умножение двух длинных чисел. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Int to string http://www.cyberforum.ru/cpp-beginners/thread285630.html
Какой способ перевода Int в String самый лёгкий ? В делфи привык писать Inttostr (i) , а на с++ такое есть ?
Visual C++ MFC. Ошибка LNK2019 , LNK1120 Работаю в среде MFC: bool CheckKey() { for (int i=1; i<= Key.GetLength(); i++) for (int j=1; j <= Key.GetLength(); j++) if ((Key == Key) && (i != j)) return false; return true; http://www.cyberforum.ru/cpp-beginners/thread285627.html
C++ Класс комплексных чисел(подправить)
Помогите дописать в оераторе "умножение" умножение вещественного числа на комплексное,double на комплексное. Очень надо. Заранее спасибо #include <iostream> #include <conio.h> #include <math.h> #include <complex> using namespace std; const double Pi = 3.14159265358979323846; class Complex
C++ ООП, разобрать задание.
Составить описание класса для представления комплексных чисел с возможностью задания вещественной и мнимой частей как числами типов double, так и целыми числами. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел Нужно посмотреть в коде ошибки, препод придирается к ней, но не поясняет в чем проблема Main.cpp #include <iostream> #include "compl.h" void...
C++ справочная система компонентов компьютерной техники - С++ http://www.cyberforum.ru/cpp-beginners/thread285537.html
Помогите пожалуйста!!!Тема курсовой-справочная система компонентов компьютерной техники Нужно написать программу на языке С++ Поняла только что необходимо использовать тему классы и можно будет воспользоваться массивом
C++ Лабораторная на C++. Строки. Очень прошу помочь!) Нужно написать программу на языке C++ с использованием стандартных функций для обработки строк.(не CString) Задан текст, состоящий из слов, записанных через запятые, и заканчивающийся точкой. Длина текста не больше 200 символов, могут быть использованы любые символы. Словом считать последовательность символов, не содержащую пробел. Выдать слова текста и их длины.... подробнее

Показать сообщение отдельно
vpupkin
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
30.04.2011, 20:52  [ТС]     Длинная арифметика. Умножение двух длинных чисел.
Есть код на паскале
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Procedure Multiplication(A, B : DlChislo; Var C : DlChislo);
 Var I, J : Integer; P : Digit; VspRez : 0..99;
  Begin
    Zero(C);//Обнуление массива C
    For I := 1 To Dlina(A) Do {Цикл по количеству цифр
                               в первом числе}
     Begin
        P := 0; {Первоначально перенос равен нулю}
        For J := 1 To Dlina(B) Do {Цикл по количеству цифр
                                   во втором числе}
         Begin
           VspRez := A[I] * B[J] + P + C[I + J - 1];
           C[I + J - 1] := VspRez Mod 10; {Очередное значение цифры в
                                           разряде I + J - 1}
           P := VspRez Div 10 {Перенос в следующий разряд}
         End;
       C[I + J] := P {последний перенос может быть отличен от нуля,
                      запишем его в пока ещё свободный разряд}
     End
  End;
Перевел, как смог(паскаля не знаю) на с++
В чем ошибка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
int main(){
    int a[]={1,2,3},b[]={4,5,6},c[5]={0},i,j,x,p;
    for (i = 0; i < 3; i++) {
        p=0;
        for (j = 0; j < 3; j++) {
            x=a[i]*b[j]+p+c[i+j];
            c[i+j]=x%10;
            p=x/10;
        }
    c[i+j+1]=p;
    }
    for (i = 0; i < 6; i++) {
    std::cout << c[i];
    }
    return 0;
}
 
Текущее время: 23:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru