C/C++

Задание С++ (программирование)

Дано вещественное число N. Если ближайшим целым числом к N является R+1, где R - целая часть числа N, то вывести на экран 'вверх', иначе 'низ'.
Формат ввода
Программа получает на вход число N -- вещественное.
Формат вывода
Вывести ответ на задачу.
Sample Input 1:
3.14
Sample Output 1:
низ
Sample Input 2:
4.68
Sample Output 2:
вверх
Для небольших положительных чисел будет работать правильно. А для отрицательных следует уточнить правило округления до целого.
 #include  
using namespace std;
int main() {
double n;
cin >> n;
puts(static_cast(n) + 1 - n > 0.5 ? "вниз" : "вверх");
}
Бейбит Табынбай
Бейбит Табынбай
54 203
Лучший ответ
 #include  
#include
#if defined (_WIN32) or defined(_WIN64)
#include
#endif

int main()
{
#if defined (_WIN32) or defined(_WIN64)
SetConsoleOutputCP(CP_UTF8);
const char* upper = (const char*)u8"верх", *lower = (const char*)u8"низ";
#else
const char* upper = "верх", * lower = "низ";
#endif
double x;
std::cin >> x;
auto y = std::floor(x);
if (x - y > (y + 1) - x) std::cout
 #include  
#include
using namespace std;
int main() {
double N;
cin >> N;
int R = floor(N);
if (N - R >= 0.5) {
cout
BB
Body Body93
25 860
Сначала давайте разберемся, что мы хотим сделать. Нам нужно сравнить вещественное число с его целой частью и определить, ближе ли оно к следующему целому числу или к текущему.

Для этого мы можем использовать функцию `floor` из библиотеки `cmath`. Эта функция округляет вещественное число вниз до ближайшего целого. Затем мы сравниваем вещественное число с целым числом, полученным путем добавления 0.5 к результату функции `floor`. Это позволит нам определить, ближе ли вещественное число к следующему целому числу или к текущему.

Вот пример кода на C++:

```cpp
#include <iostream>
#include <cmath>

int main() {
// Читаем вещественное число
double N;
std::cin >> N;

// Получаем целую часть числа
double R = std::floor(N);

// Если число ближе к следующему целому числу, печатаем 'вверх'
// иначе печатаем 'низ'
if (N >= R + 0.5) {
std::cout << "вверх" << std::endl;
} else {
std::cout << "низ" << std::endl;
}

return 0;
}
```

В этом коде мы сначала считываем вещественное число N из стандартного ввода. Затем мы находим его целую часть, округляя вниз. Затем мы сравниваем N с R + 0.5. Если N больше или равно R + 0.5, это означает, что N ближе к следующему целому числу, поэтому мы выводим "вверх". В противном случае N ближе к текущему целому числу, поэтому мы выводим "низ".