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

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

Войти
Регистрация
Восстановить пароль
 
BaronShtolz
Сообщений: n/a
#1

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

16.12.2012, 22:12. Просмотров 267. Ответов 2
Метки нет (Все метки)

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");
}
Не могу найти ошибку. После выполнения приравнивания в А записывается значение В, но кроме последней цифры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 22:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Странная ошибка (C++):

Странная ошибка - C++
// ConsoleApplication5.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Странная ошибка с else - C++
Мне пишет что в 21 строке ошибка, делал и с цифрами и с текстом, ошибка всегда на else, ошибка: D:\CBProject\Test1\main.cpp||In...

Странная(или не странная, незнаю) реакция на буквы, знаки операций - C++
Всем добрый день. Делаю маленькую наработку, пока есть только начало. Ниже код: #include &lt;iostream&gt; #include &lt;cstdlib&gt; using...

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

Странная ошибка в программе - C++
Когда ввожу имя файла и жму Enter - выводится такая ошибка. Что делать?

Странная ошибка в коде - C++
Задание гласит: Найти значение конечной суммы:1+3+...+2n-1 Имею код Pascal Program 5; Uses Crt; var i, n, S,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
16.12.2012, 22:16 #2
Цитата Сообщение от BaronShtolz Посмотреть сообщение
int A[39];
Цитата Сообщение от BaronShtolz Посмотреть сообщение
for (i=39;i>=0;i--)
HugeInteger::A[i]=B.A[i]
В 38 строчке ошибка. Тут получается выход за границу массива. Ничего хорошего от этого не получится
0
BaronShtolz
Сообщений: n/a
16.12.2012, 22:42 #3
Cпасибо. Тему можно закрыть
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 22:42
Привет! Вот еще темы с ответами:

Странная ошибка (в дебаггере не выявляется) - C++
Есть функция: r_value getFrameworkState() { std::ifstream file; std::string server_t=&quot;&quot;, server_l=&quot;&quot;; std::string...

Странная ошибка при агрегации - C++
Привет, товарищи, столкнулся с нетривиальной проблемой, собственно сразу к ней. Есть 2 класса (напишу лишь проблемные методы, как ни...

Странная ошибка makefile.win - C++
Код: #include &lt;iostream&gt; using std::cout; using std::cin; using std::endl; int main(int argc, char** argv) { cout &lt;&lt;...

Странная ошибка с decltype [GCC 4.9.2] - C++
Всем привет, есть следующий метод : class AddressV4 { public: static std::set&lt;AddressV4&gt; getByName(const std::string...


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

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

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