Форум: Форум C++Разное
Новые темы: 00
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массивы
 
 автор: 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();
}

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

  Ответить  
 
 автор: cheops   (22.10.2009 в 16:17)   письмо автору
 
   для: 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();
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования