@shendu

Известные два расстояния: одно в км, другое в футах (1фут = 0.305м), Какое из расстояний меньше?

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	float x, y;
	cout << "vvedite dva rasstoyania, pervoe v km, vtoroe v footah";
	cin >> x;
	cin >> y;
	if ((x * 1000) > (y * 0.305))
	{
	cout << "naimenshee rasstoyanie = " << y / 0.305 << "\n";
	}
	else if ((x * 1000) < (y * 0.305))
	{
	cout << "naimenshee rasstoyanie = " << x / 1000 << "\n";
	}
	else 
	{
	cout << "rastoyania ravni" << endl;
	}
	return 0;
}

В ответе при вводе двух единиц выходит 3.27869 и при этом, число в футах всегда наименьшее. Не могу понять где ошибся?
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
@shendu Автор вопроса
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	float x, y;
	cout << "vvedite dva rasstoyania, pervoe v km, vtoroe v footah";
	cin >> x;
	cin >> y;
	if ((x * 1000) > (y * 1000 * 0.305))
	{
	cout << "naimenshee rasstoyanie = v footah " << y << "\n";
	}
	else if ((x * 1000) < (y * 1000 * 0.305))
	{
	cout << "naimenshee rasstoyanie = v km " << x << "\n";
	}
	else 
	{
	cout << "rastoyania ravni" << endl;
	}
	return 0;
}

}
Наконец получилось
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
3.27869 - это 1/0,305. Надо выводить y*0.305 и то же самое для x.
Ответ написан
GavriKos
@GavriKos
Ну а почему решили что ошиблись? Оно вам вывело 1/0,305. ХЗ что это логически значит, но условие выполнено верно - 1 фут меньше 1 км
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы