Помощь - Поиск - Пользователи - Календарь
Полная версия: Большие числа
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Другие языки
first_day
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main ()
{
	long double a,b,c,max=0;
	fstream f_in, f_out;
	f_out.setf(ios::fixed);
         f_out.precision(0);
	f_in.open("input.txt",ios::in);
	f_out.open("output.txt",ios::out);
	f_in>>a>>b>>c;
	max=a;
	if (b>max)
		max=b;
	if (c>max)
		max=c;
	f_out<<max;
	f_out.close();
	return 0;
}



На тесте (189285 283 4958439238923098349024) Выдает 4958439238923098000000. Почему на конце нолики?..
volvo
Гарантированная точность представления long double - 15-16 цифр после запятой. Больше хранить негде. У тебя число читается в переменную и пытается хранится там в виде: 4.958439238923098349024*1022, причем то, что выделено красным - хранить негде, и оно отсекается...
first_day
Выход - сравнивать по-разрядно?

Или считать как строку?..
volvo
Но учти, строки надо будет привести к одинаковой длине, добавляя нули слева, потому что иначе 1234 будет меньше 32...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.