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

Сложение двух массивов - C++

Восстановить пароль Регистрация
 
Various1
Сообщений: n/a
05.11.2011, 16:08     Сложение двух массивов #1
Вот условие задачи:
Your friend is the person who does not like any limitations in the life. And when you said to him that it is totally impossible to work with integer numbers bigger than 4 294 967 296 in C++ he blamed you in time-wasting during the university study.So to prove that you hadn't waste 2 months of your life studying C++ in university you have to solve this issue.
Your task is to write a program that which can add two integer numbers that are not more than 101000 to each other.
Your program have to implement void addVeryLongIntegers(char *a,char *b,char *c) function.
Note. The program have to use pointer.

Input:
First line contains a and b numbers that are not bigger that 101000

Output:
The sum of a and b.
Samples:

№ INPUT OUTPUT
1 5 5 10
2 222222222222222222222 111111111111111111111 333333333333333333333
3 4958439238923098349024 1 4958439238923098349025


Вот мой код:
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
#include<iostream>
#include<cstring>
using namespace std;
const int maxn=1000000;
void addVeryLongIntegers(char *a,char *b,char *c){
    int x,y;
    x=strlen(a);
    y=strlen(b);
    int arr1,arr2;
    for(int i=0;i<x;i++){
        arr1=int(a[i]-48);
    }
    for(int i=0;i<y;i++){
        arr2=int(b[i]-48);
    }
    for(int i=0;i<x+y;i++){
    c[i]=(arr1+arr2)-48;
    }
    cout<<c<<"\n";
}
int main(){
    char a[maxn];
    char b[maxn];
    char c[maxn];
    cin>>a;
    cin>>b;
    addVeryLongIntegers(a,b,c);
    return 0;
}
Просьба исправить. По-моему я что-то напутал с конвертированием int в char и обратно. Всё компилируется, но выдаёт ошибку. Если можно ещё и объясните.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2011, 16:08     Сложение двух массивов
Посмотрите здесь:

C++ Сложение двух массивов.
C++ сложение массивов
C++ Сложение столбиков двух массивов чисел
C++ Сложение Массивов
Сложение массивов C++
C++ Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов
Произвести сложение двух массивов 5х3 по правилам сложения матриц C++
C++ Сложение двух динамических массивов char* в одну строку

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DKOI
 Аватар для DKOI
24 / 24 / 1
Регистрация: 08.09.2010
Сообщений: 136
05.11.2011, 16:17     Сложение двух массивов #2
Во первых, при обратном преобразовании у вас стоит минус, хотя должен быть плюс, это раз. Два - если сложить 7 и 8 будет 15, то есть 5 в этом разряде и единичка переходит в следующий, вы этого не отслеживаете.

Добавлено через 3 минуты
И три, при сложении двух чисел максимальная возможная длина их - на единицу больше максимальной из длин двух чисел, а вы идете до х+у да ещё и по основным масивам, где стольких символов вовсе нет!
Yandex
Объявления
05.11.2011, 16:17     Сложение двух массивов
Ответ Создать тему
Опции темы

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