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

Дробь - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ простое число в заданном диапазоне http://www.cyberforum.ru/cpp-beginners/thread389743.html
необходимо найти наименьшее простое число в заданном диапазоне
C++ Посоветуйте литературу для олимпиадного программирования C++ Буду вам очень благодарен. Пока читаю только Окулова про алгоритмы в общем. http://www.cyberforum.ru/cpp-beginners/thread389733.html
C++ Перевод числа из 8-й системы счисления в 2-ю без перевода в 10-ю
нужно написать две программы в с++ 1) Написать программу, которая переводит число из 8-й сис*те*мы счисления в 2-ю, не переводя все число в 10-ю. Выполнить от*лад*ку прог*раммы с помощью какого–либо примера, подготовлен*ного Вами на бумаге. 2)Открыть файл, имя которого задается с клавиатуры. Найти сумму чисел, содержащихся в файле. Буду очень благодарен за помощь!
Эмуляция работы процессора C++
Предисловие : Здравствуйте, дорогие "форумчани". Сразу перейду к делу. Недавно получил комплект лабораторных работ с заданием. Методички у нас просто супер : написано задание и ни одного примера. Значит задание звучит так... Задание: Разработать эмулятор процессора, создать для него язык ассемблера и написать демонстрационную программу. Из чтения методички я понял то, что процессор...
C++ задачка http://www.cyberforum.ru/cpp-beginners/thread389706.html
Помогите пожалуйста Нужна прога: Есть массив X(n). Упорядочить его элементы в порядке возрастания, все элементы больше нуля увеличить в 3 раза, а меньше- в (-2) раза.
C++ Считать количество цифр в числе Нужно написать програмку, которая из двух чисел выбрала бы то, в котором больше цифр (написать прогу, которая считала бы количество цифр в числе) подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.11.2011, 06:46  [ТС]     Дробь
Цитата Сообщение от Bers Посмотреть сообщение
public: *TTest& operator +(const TTest<TypeT>& istok) *{ *a=a+istok.a; return *this; }
Так ты не решаешь задачу:
C++
1
2
3
TTest a, b, c;
/*Пусть a.a=1, b.a=2*/
c=a+b; /*a.a=3, b.a=2, c.a=3, а надо: a.a=1, b.a=2, c.a=3*/
Добавлено через 8 минут
И для одного поля и так не проблема избавиться от временных объектов в +=, -=, *= и /=. И даже при однократном на один вызов оператора обращении к нескольким полям. Но мне надо изменить знаменатель, а в числителе использовать его старое значение. А, кажется понял. Кажется понял. Надо использовать порядок расчёта числителя и знаменателя: сначала числитель, так как при этом не меняется знаменатель, а потом уже знаменатель:
C++
1
2
3
4
5
6
7
8
9
10
11
12
TFraction TFraction::operator +=(TFraction &x)
{
 Numerator   =Numerator   *x.Denominator+x.Numerator*Denominator;
 Denominator=Denominator*x.Denominator;
 return *this;
}
TFraction TFraction::operator -=(TFraction &x)
{
 Numerator   =Numerator   *x.Denominator-x.Numerator*Denominator;
 Denominator=Denominator*x.Denominator;
 return *this;
}
.

Добавлено через 3 минуты
Всё, оптимизацией по времени больше не занимаемся. Теперь только по точности. Пусть будет возврат временного объекта по значению, то есть копирование. Пусть будет создание временного объекта. Пусть будут тормоза. С ними больше не надо бороться, вся оптимизация должна быть направлена только на точность. Можно целую миллисекунды потратить на однократное исполнение одного оператора-члена, но важен каждый лишний бит, который удастся из сомнительных перетащить в точные.
 
Текущее время: 09:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru