Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Various1
#1

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

05.11.2011, 16:08. Просмотров 1057. Ответов 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++
Что то я не как не пойму если я пишу вот такой код #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; int aaa = {2,3,4}, bbb = {5,6,7}, ...

Сложение столбиков двух массивов чисел - C++
Например есть два массива int a={2,8,3,9,4,7,5,8,6,7,3,8,2}; int b={4,7,3,8,5,7,3,8}; Как мне их сложить в столбик (длинная...

Сложение двух динамических массивов char* в одну строку - C++
В массивы вводятся данные, масcивы вида : int n,k; char *a,*b; a=new char; b=new char; Как вывести результирующую...

Произвести сложение двух массивов 5х3 по правилам сложения матриц - C++
Произвести сложение двух массивов 5х3 по правилам сложения матриц. Не могу решить помогите с решением. Зарание спасибо. :)

Создать два массива, которые будут содержать: все четные элементы двух массивов; все нечетные элементы двух массивов - C++
Помогите, пожалуйста, с программой.. Ввести с клавиатуры два одномерных массива произвольной размерности (например, 3) и создать два...

Конкатенация двух нибблов (сложение двух полубайт в байт) - C++
Как из этих двух полубайт получить полноценный байт со значение &quot;0x3e&quot;? unsigned char first_nibbl = 0x03 unsigned char last_nibbl =...

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

Добавлено через 3 минуты
И три, при сложении двух чисел максимальная возможная длина их - на единицу больше максимальной из длин двух чисел, а вы идете до х+у да ещё и по основным масивам, где стольких символов вовсе нет!
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2011, 16:17
Привет! Вот еще темы с ответами:

Сложение массивов - C++
Произвести сложение двух массивов 5х3 по правилам сложения матриц.

сложение массивов - C++
Напишите функцию, которая складывает поэлементно два массива, и записывает результаты сложений в третий массив. Массивы содержат элементы ти...

Сложение Массивов - C++
Помогите у меня такая задача есть двумерный массив 225x225 это массив нужно разбить на другие массивы 15x15 (т.е 225 массивов 15х15) и...

Поэлементное сложение массивов - C++
Нужно чтобы 2 массива поэлементно складывались и в третьем выводился результат сложения, Причем нужно с клавиатуры задавать в консоли...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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