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

C++

Войти
Регистрация
Восстановить пароль
 
mracobes9
8 / 8 / 1
Регистрация: 02.04.2015
Сообщений: 195
#1

Разработка калькулятора для больших чисел - C++

26.04.2015, 20:44. Просмотров 333. Ответов 0
Метки нет (Все метки)

Здравствуйте. Нужна помощь в разработке калькулятора для больших чисел. Пока пытаюсь реализовать сложение чисел в случае когда размер первого больше размера второго числа. Но возникла проблема, цикл в функции SummSandS2 не выполняется. Вот сама программа.
C
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#pragma warning (disable:4996)
///функция заполняет массив S размера n 
void FillArrayS(int *S, int n, int n4)
{
    for (int i = 0; i < n4; i++)
    {
        S[i] = 0;
    }
    for (int i = n4; i < n; i++)
    {
        scanf("%d", &S[i]);
    }
}
///функция заполняет массив S2 размера n2 
void FillArrayS2(int *S2, int n2, int n3)
{
    for (int i = 0; i < n3; i++)
    {
        S2[i] = 0;
    }
    for (int i = n3; i < n2; i++)
    {
        scanf("%d", &S2[i]);
    }
}
void SummSandS2(int *S, int *S2, int *S3, int n)
{
    for (int i = n - 1; i <= 0; i--)
    {
        if (S[i] + S2[i] >= 10)
        {
            S3[i] = (S[i] + S2[i]) % 10;
            S3[i - 1]++;
        }
        else S3[i] = S[i] + S2[i];
    }
}
void PrintArray(int *S3, int n)
{
    for (int i = 0; i < n; i++)
    {
        printf("%d", &S3[i]);
    }
}
int main()
{
    setlocale(0, "");
    int *S, *S2, *S3, n, n2;
    printf("введите размер первого и второго числа\n");
    scanf("%d%d", &n, &n2);
    S = (int *)malloc(n*sizeof(int));
    S2 = (int *)malloc(n2*sizeof(int));
    if (n > n2)
    {
        int n3 = n - n2;
        int n4 = 0;
        printf("введите первое число\n");
        FillArrayS(S, n, n4);
        printf("введите второе число\n");
        FillArrayS2(S2, n, n3);
        S3 = (int *)malloc(n*sizeof(int));
        SummSandS2(S, S2, S3, n);
        PrintArray(S3, n);
        free(S3);
    }
    free(S);
    free(S2);
    system("pause");
 
}
Добавлено через 25 минут
а все разобрался
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2015, 20:44     Разработка калькулятора для больших чисел
Посмотрите здесь:
C++ Разработка двоичного калькулятора (небольшие недочеты)
Не работает для больших чисел C++
Возведение в степень для больших чисел C++
C++ Написать элегантнее класс для сложения больших чисел
C++ Какие существуют короткие константы для достаточно больших чисел?
C++ Разработка программы в С++ для поиска указанных чисел из указанного диапазона
Для последовательности целых, оканчивающейся "8", определить число чисел, больших первого введенного числа C++
C++ Builder Из N вещественных чисел определить количество чисел, больших своих соседей
C++ Вводится последовательность из N вещественных чисел. Определить наименьшее число, среди чисел больших 20
Вводится последовательность из N вещественных чисел. Определить наименьшее число, среди чисел больших 20. C++
C++ Посчитать количество чисел, больших 0 и меньших N, сумма чисел которых и их реверс являются палиндромом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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