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

Странная ошибка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) http://www.cyberforum.ru/cpp-beginners/thread734505.html
Здравствуйте! Помогите написать парочку программ... 3. Даны массивы A(0) и B(4). Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4).
C++ Подсчитать сумму Пожалуйста помогите написать несколько задач C++ до 19-го декабря :) Буду очень благодарен :) 2.Для заданного натурального k и действительного x подсчитать выражение: \sum_{n=1}^{k}\mathbb{} (-1)^n-1*x^n\(2n)! http://www.cyberforum.ru/cpp-beginners/thread734504.html
Стек, списки (Составить протокол работы стоянки, сообщая обо всех событиях) C++
Вот задали задачу: Автомобильная стоянка вмещает n машин и имеет одну полосу с единственным въездом-выездом. Если владелец приходит за машиной, временно выезжают и потом возвращаются в том же порядке все машины, загораживающие проезд. Если стоянка заполнена, то прибывшая машина уезжает. Задана последовательность номеров машин с признаками прибытия или убытия. Составить протокол работы стоянки,...
C++ С клавиатуры задается двухзначное целое число. Необходимо вывести на экран все его делители
С клавиатуры задается двухзначное целое число. Необходимо вывести на экран все его делители
C++ как создать бесконечный цикл http://www.cyberforum.ru/cpp-beginners/thread734485.html
помогите)нужно чтоб можно было вводить несколько раз за сеанс)экзе файл закрывается
C++ Поиск в векторе всех элементов со значением, большим заданного с клавиатуры Помогите пожалуйста с заданием : Разработать программу поиска в векторе всех элементов со значением, большим заданного с клавиатуры и удаления найденных элементов. Элементы вектора вводятся с клавиатуры и хранятся в связанном списке подробнее

Показать сообщение отдельно
BaronShtolz
Сообщений: n/a
16.12.2012, 22:12     Странная ошибка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef HUGEINTEGER_H
#define HUGEINTEGER_H
 
class HugeInteger
      {
                 public:
                        
                   HugeInteger();
                   ~HugeInteger() {};
                   
                   void Input();
                   void Output();
                   
                   void HugeInteger::operator =(HugeInteger B);
                   HugeInteger HugeInteger::operator +(HugeInteger B);
                 private:
                   int A[39];
      };
#endif
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
#include "HugeInteger.h"
#include <iostream>
#include <locale.h>
#include <cstdlib>
 
 
using namespace std;
 
HugeInteger::HugeInteger()
     {
         int i;
         for (i=0;i<=39;i++)
          HugeInteger::A[i]=0;
     };
     
void HugeInteger::Output()
     {
         int i;
         for (i=0;i<40;i++)
         cout << HugeInteger::A[i]; 
         cout << endl;
     };
 
void HugeInteger::Input() 
     {
                char a[40]; int i,n;
                
                cout << "Ââåäèòå ÷èñëî " << endl;
                cin >>  a;
                n=strlen(a);
                for (i=0;i<n;i++)
                 A[40-n+i]=(int)a[i]-48;
     }; 
 
void HugeInteger::operator =(HugeInteger B)
      {
                          int i;
                          for (i=39;i>=0;i--)                                                               
                           HugeInteger::A[i]=B.A[i];
      };
                          
HugeInteger HugeInteger::operator +(HugeInteger B)
      {
                          HugeInteger C; int i; 
                          for (i=39;i>=0;i--)
                              {
                                    cout << B.A[39] << " ";
                                     C.A[i]=HugeInteger::A[i]+B.A[i];
                                      if (C.A[i]>9)
                                       {
                                                  if (i-1<0)
                                                    {
                                                         cout << "Âûõîä Г§Г* ïðåäåëû ГІГЁГЇГ* Г¤Г*Г*Г*ûõ" << endl;
                                                         break;
                                                    }
                                                  else
                                                    {
                                                         C.A[i]=C.A[i]/10;
                                                         C.A[i-1]+=1;
                                                    }
                                       } 
                              }
                              return C;
      };
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <locale.h>
#include "HugeInteger.h"
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"RUS");
    HugeInteger A, B;
        
    A.Input();
    B.Input();
    
    A=B;
    
    A.Output();
    B.Output();
    
    system("PAUSE");
}
Не могу найти ошибку. После выполнения приравнивания в А записывается значение В, но кроме последней цифры.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru