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

Спроектировать и реализовать класс BigInt - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа подсчета результатов выступления спортсменов по прыжкам с трамплина http://www.cyberforum.ru/cpp-beginners/thread266771.html
Struct sportsme +массив указателей { * misce Char famil ; Int nomer; Intmetry; Int baly; Int suma-ochky Uchasnyky } 1.В начале программы заполняем массив нулями, кроме номера.
C++ Динамическое программирование.Удаление строки Дана строка S, состоящая из n маленьких латинских букв. За один ход Вам разрешается удалить один или несколько подряд идущих одинаковых символов. Необходимо удалить все символы из строки S за минимальное количество ходов. Помогите довести до ума код,защитил алгоритм у преподавателя,а нормальная реализация не выходит.Заодно хотелось бы узнать,оптимальное ли это решение.Спасибо!... http://www.cyberforum.ru/cpp-beginners/thread266764.html
объединить три 2-мерных массива в один 3-мерный массив C++
Первый двухмерный задан рандомно. Второй и третий двухмерные заданы как результаты вычислений от функцый (табуляция по Х, У, А и В). Надо что б из этого всего получился 3-мерный массив. Который потом сортируется по возрастанию.
C++ неполадки с кампилятором
я сегодня уже писал о том что ищу графическую библиотку для Dev-Cpp на сайте константина полякова нашел то что искал и сделал все следуя инструкциям, но груфака так и не работает. в самой простой прогармме (там же на сайте взял текст) выдает 233 ошибки, причем все относятся к самой библиотеке graphics.h... в чем может быть дело? и как устранить их?
C++ Решение СЛАУ методом Гаусса http://www.cyberforum.ru/cpp-beginners/thread266739.html
помогите разобраться!!ВЫдает 85 ошибок!!!! #include <stdio.h> #include <conio.h> #include <tchar.h> #include <iostream> #include <stdlib.h> #include <time.h> #define eps 0.0000000001 class CMatrix
C++ Динамический массив из целых чисел Плохо разбираюсь с массивами, поэтому нужна помощь написать кусок кода, где создается динамический массив и формирующий в нем множества всех целых чисел вида 2^k и 3^k меньших заданного числа N в порядке возрастания. вообще даже соображений нет, вот что накалякал :( #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <iostream.h> int main () { int N, k, a, b; k=1; подробнее

Показать сообщение отдельно
Koketka
5 / 5 / 0
Регистрация: 27.11.2009
Сообщений: 232
13.04.2011, 11:34  [ТС]     Спроектировать и реализовать класс BigInt
Vladimir Спасибо большое))

Почитала еще в интернете кое-что, вот что пока получилось:


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
#ifndef BIGINT_H
#define BIGINT_H
#define BASE 10000    //основание СС,т.е. максимальное значение, которое может храниться в одном разряде, т.е. храним по 4 цифры в одном элементе массива
#define BASE_DIG 4    //
#define MAX_L 40      //максимальная длинна числа, т.к. диапазон [-10^40..+10^40]
 
#include <iostream.>
 
class BigInt {
public:
  int Size;                 // Size - текущая длина
  int SizeMax;           // SizeMax - максимальная длина
  int *Coef;              // Массив коэффициентов
 
  BigInt();                            //Объявление вида BigInt A; конструктор
  BigInt(const BigInt&A);        //Конструктор копирования
   ~BigInt();                         //деструктор
 
};
 
BigInt::BigInt()                 // Объявление вида BigInt A описание фии констуктора
{
  SizeMax = MAX_L;
  Size = 0;
  Coef = new int[SizeMax];
 
};
 
BigInt(BigInt&A)                //Конструктор копирования
{
    SizeMax = A.SizeMax;
    Size = A.Size;
    Coef = new int[SizeMax];
    for (int i=0; i<SizeMax; i++) Coef[i] = A.Coef[i];
};
 
BigInt::~BigInt()                //Деструктор
{
    delete Coef;
 
};
 
 
 
#endif // BIGINT_H
Так как частично практически скопировала из инета, кое в чем не поняла...

1)
C++
1
2
3
#define BASE 10000    
#define BASE_DIG 4    
#define MAX_L 40
исходя из этого я поняла так, что число у меня будет храниться в массиве, по 4 цифры в каждой ячейке, т.е. в одной ячейке один разряд данного числа,
C++
1
2
#define BASE 10000 - это максимальное значение которое можжет храниться в одной ячейке
#define BASE_DIG 4    - это то что мы храним по 4 цифры в олной ячейке, т.е. один разряд нашего числа состоит из 4х цифр
но:
2)
C++
1
2
3
4
5
6
7
BigInt::BigInt()                 // Объявление вида BigInt A описание фии констуктора
{
  SizeMax = MAX_L;
  Size = 0;
  Coef = new int[SizeMax]; <-----вот тут то получается что мы выделяем память так что в одной ячейке храниться по одной цифре, а ведь вроде как должно быть по 4?!!!!или что-то я не так поняла?
 
};
3)и вот переменная Size - это получается количество разрядов в нашем числе?т.е. сколько по 4 цифры?

Добавлено через 49 минут
и вот еще конструкторы (по строке (char *) - это в main выглядит так: BigInt b("-1206")?
по целому числу встроенного типа (например, long) - это BigInt c(1207);???????

Добавлено через 1 час 15 минут
Vladimir., ?

Добавлено через 10 часов 42 минуты
C++
1
2
3
#define BASE 10000    //основание СС(в элементах массива храним четырехзначные числа)
#define BASE_DIG 4    //размер основания
#define MAX_L 40      //максимальное количесвто четырехзначных цифр
 Комментарий модератора 
Используйте теги форматирования кода.
 
Текущее время: 02:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru