Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: ALEX_DNDZ   (20.10.2009 в 21:43)
Всем доброго дня. Помогите пожалуйста.
Ввожу две строки в виде цифр. Затем создаю два динамических массива, в которые поелементно помещаю строки.Необходимо вывести поэлементно каждый массив. затем обнулить недостающие елементы в одном из массивов (в том что меньше) для сложения этих двух чисел.

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
char ch1[5000];
int i,n1,*mas1,k;
cout<<"Vvedite chislo 1 = ";cin>>ch1;
n1=strlen(ch1);
mas1=new int[n1];
for(i=0; i<n1; i++) mas1[i]=ch1[i]-48;
for (i=0; i<n1; i++)
printf("%3d",mas1[i]);
cout<<endl;
char ch2[5000];
int n2,*mas2,*mas3;
cout<<"Vvedite chislo 2 = ";cin>>ch2;
n2=strlen(ch2);
mas2=new int[n2];
for(i=0; i<n2; i++) mas2[i]=ch2[i]-48;
for (i=0; i<n2; i++)
printf("%3d",mas2[i]);
cout<<endl;
int n;
n=0;
if (n1==n2) k=n1-1;

if (n2>n1) {n=n2-n1; for (i=0;i<=n1-1;i++) mas1[i+n]=mas1[i];
for (i=0;i<n;i++) mas1[i]=0;
for (i=0;i<=n2-1;i++) cout<<mas1[i];
k=n2-1;} n=0;
cout<<endl;
if (n1>n2) {n=n1-n2; for (i=0;i<=n2-1;i++) mas2[i+n]=mas2[i];
for (i=0;i<n;i++) mas2[i]=0;
for (i=0;i<=n1-1;i++) cout<<mas2[i];
k=n1-1;}
cout<<k;
getch();
}

Проблема в обнулении одного из массивов. В конце выводит левые цифры(((


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: