PDA

Просмотр полной версии : вопросик


M@GIC
01.11.2006, 01:04
Извените за столь поздний вопрос.
Как в с++ вычеслить значение функции с какой-то точностью???
Например пусть при подсчёте функция приняла значение 3.144564564
а надо округлить до тысячных например.

ΛLIEN
01.11.2006, 01:20
Извените за столь поздний вопрос.
Как в с++ вычеслить значение функции с какой-то точностью???
Например пусть при подсчёте функция приняла значение 3.144564564
а надо округлить до тысячных например.

Для вывода используем формат: printf("%.3f", var)

Для округления: =)

var = 3.144564564;
var2 = (float)((int)(var*1000.0))/1000.0;

ΛLIEN
01.11.2006, 02:25
Вообще, по-хорошему, лучше забабахать функцию, аля...

Где-то в начале:
#include <math.h>

....
bla bla bla
....

//--------------------------
// round my number
// v - value, d - digits
//--------------------------
double round_value(double v, int d) {
double int_part, fract_part; // целая и дробная части

// функция возвращает дробную часть, в переменную int_part - целую
fract_part = modf(v, &int_part);

// умножим 10, 100 и т.д. (кол-во чисел просле запятой)
for(int i = 0; i < d; i++) fract_part *= 10.0;
fract_part += 0.5; // прибавим половинку целого
fract_part = double(floor(fract_part)); // и округлим до наименьшего целого

// аналогично делим на 10 * кол-во цифр после запятой
for(int i = 0; i < d; i++) fract_part /= 10.0;

return int_part + fract_part; // возвращаем результат
}

ps: упс, опечатался. Поправка. =)

M@GIC
01.11.2006, 02:31
Большле спасибо

M@GIC
12.12.2006, 22:46
Нужна не большая помощь(до утра)
Функция "название_потока.tellg()" указывает на текущий указатель файла. Как передвинуть указатель на на символ назад???

Lucas
13.12.2006, 22:42
Народ! Помогите плиз...с таким вот вопросом. Я нахожусь с двумя парнями на одном шлюзе. И дело в том, что с одним я нормально и по чату могу общаться и на фтп к нему заходить, а второго не вижу, не слышу и не могу даже к нему на фтп зайти. Дело в том что у меня просто сейчас локала нет. За неуплату обрубили. Что делать? Из-за чего такое может быть и как с этим справиться?