cout << "n1 - " ;
cin >> nValue1 ;
cout << "n2 - " ;
cin >> nValue2 ;
cout << "n3 - " ;
cin >> nValue3 ;
/* Сперва сумма трёх отношений */
cout << "n1/3 + n2/3 + n3/3 = " ;
cout << nValue1/3 + nValue2/3 + nValue3/3 ;
cout << "\n" ;
/* Сейчас соотношение трёх сумм */
cout << "( n1 + n2 + n3 ) / 3 = " ;
cout << ( nValue1 + nValue2 + nValue3) / 3 ;
cout << "\n" ;
/* Пауза для того, чтобы посмотреть на результат работы программы */
system( "PAUSE" ) ;
return 0 ;
}
/* FloatAverage — среднее 3 чисел, используя арифметику с плавающей точкой.*/
/* В противном случае, так же как IntAverage */
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std ;
int main( int nNumberofArgs , char* pszArgs[ ] )
{
setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */
float fValue1 ;
float fValue2 ;
float fValue3 ;
// введите три числа
cout << "Эта програма вычисляет среднее трёх чисел типа float\n"
<< "floating point( с плавающей точкой ) арифметики\n\n" ;
cout << "Введите три числа:\n" ;
cout << "f1 - " ;
cin >> fValue1 ;
cout << "f2 - ";
cin >> fValue2 ;
cout << "f3 - " ;
cin >> fValue3 ;
/* Сперва сумма трёх отношений */
cout << "n1/3 + n2/3 + n3/3 = " ;
cout << fValue1/3 + fValue2/3 + fValue3/3 ;
cout << "\n" ;
/* Сейчас соотношение трёх сумм */
cout << "(n1 + n2 + n3)/3 = " ;
cout << (fValue1 + fValue2 + fValue3) / 3 ;
cout << "\n" ;
/* Пауза для того, чтобы посмотреть на результат работы программы */
system( "PAUSE" ) ;
return 0 ;
}
Ограничения, налагаемые на числа с плавающей точкой...44
Хотя применение чисел с плавающей точкой может решить многие вычислительные проблемы, на их использование тоже существуют ограничения. Проблемы отчасти противоположны тем, которые характерны для целочисленных переменных. Действительные переменные не могут использоваться для перечисления, с ними сложнее работать компьютеру, и они тоже страдают от ошибок округления ( хотя намного меньше, чем переменные типа int ).
Перечисление...44
Использовать переменные с плавающей точкой для простого перечисления нельзя. С++ не умеет определять, какое целочисленное значение подразумевается под действительным числом.
_________________
44 стр. Часть 1. Первое знакомство с С++
Например, ясно, что 1.0 есть 1. Но что такое 0.9 или 1.1 ? Следует ли их рассматривать как 1 ? Так что С++ избегает многих проблем, требуя использовать при перечислении только целые значения.
Скорость вычислений...45
Исторически сложилось так, что процессор компьютера выполняет операции с целыми числами гораздо быстрее, чем с действительными. Для сложения 1000 целых чисел процессору может потребоваться столько же времени, сколько для выполнения только 200 вычислений с плавающей точкой.
Однако с увеличением производительности микропроцессоров проблема скорости вычислений становится всё менее важной. Большинство современных процессоров содержат специальные вычислительные схемы, которые позволяют вычислять выражения с плавающей точкой почти так же быстро, как и целочисленные выражения.
Потеря точности...45
Действительные переменные не могут решить всех вычислительных проблем. Обычно их точность ограничена приблизительно шестью разрядами, но есть и расширенный вариант типа для действительных чисел, который может содержать после десятичной точки до 15 значимых разрядов.