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

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

Войти
Регистрация
Восстановить пароль
 
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
#1

Зацените класс... - C++

09.02.2010, 13:46. Просмотров 450. Ответов 3
Метки нет (Все метки)

Класс больших чисел.
Есть ли в нём ошибки (и как их искать) ?
И вообще, рекомендации.
P/S Компилять под POSIX.
Вложения
Тип файла: rar bignum.rar (3.6 Кб, 24 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2010, 13:46     Зацените класс...
Посмотрите здесь:

Зацените пианино:) C++
Класс Person. Класс String C++
C++ Оцените класс больших чисел класс big_int
Класс строка, класс текст, агрегация C++
Класс двумерная точка и класс многоугольник C++
C++ Класс данных, класс сортировок
Класс А не принимает член-переменную с типом класс Б C++
Класс создающий другой класс (ошибка) C++
Зацените как я лихо использую указатели в этом чудном примере кода C++
C++ Наследование. Класс Круг и класс эллипс
C++ Зацените программу сравнения двух чисел с помощью класса
C++ Дан класс, преобразуйте его в статический класс со статическими методами и продемонстрируйте работу с ним

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1234 / 772 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.02.2010, 18:33     Зацените класс... #2
Что то, как то ценить долго надо...
insideone
Модератор
Автор FAQ
 Аватар для insideone
3634 / 912 / 48
Регистрация: 10.01.2010
Сообщений: 2,457
09.02.2010, 18:38     Зацените класс... #3
Есть ли в нём ошибки (и как их искать) ?
Прогоните цикл от i до n и j до n где будут i и j норм числа. Сравните
C++
1
2
if ( i*j != BigI*BigJ ) { // ошибка 
}
где BigI - объект вашего класса инициализиованный i
И так по другим операциям. Если алгоритм будет работать на малых числах то и на больших тоже наврятли даст сбой, хотя всякое бывает. Посчитайте пару значений в маткаде чтоль
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
10.02.2010, 07:57  [ТС]     Зацените класс... #4
Подожди, ну дак правильно, результат умножения i * j -это 32-битный обрезок от произведения, по хорошему надо писать так:

long long buf;
buf=i;
buf*=j;

Тогда в buf будет 64 битное произведение (а не 32-битная младшая часть). Вроде так?
Yandex
Объявления
10.02.2010, 07:57     Зацените класс...
Ответ Создать тему
Опции темы

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