Форум программистов, компьютерный форум CyberForum.ru

Где в коде ошибка (сравнение трех чисел) - C++

Восстановить пароль Регистрация
 
w0nder
 Аватар для w0nder
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 131
18.01.2013, 10:41     Где в коде ошибка (сравнение трех чисел) #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
 
 
int function (int a, int b, int c) {
int vid;
    if (a < b && a > c) vid = a; if (a > b && a < c) vid = a;
    if (b < a && b > c) vid = b; if (b > a && b < c) vid = b;
    if (c < a && c > b) vid = c; if (c > a && c < b) vid = c;
int max;
    if (a > b && a > c) max = a;
    if (b > c && b > a) max = b;
    if (c > a && c > b) max = c;
int min;
    if (a < b && a < c) min = a;
    if (b < c && b < a) min = b;
    if (c < a && c < b) min = c;
 
int ret;
if (vid - min > max - vid) ret = 1;
if (vid - min < max - vid) ret = -1;
else ret = 0;
return ret;
}
 
 
int main()
{
    int a, b, c;
    cin >> a >> b >> c;
    cout << function (a, b, c);
    return 0;
}
Если среднее ближе к большему - возвращает все равно 0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2013, 10:41     Где в коде ошибка (сравнение трех чисел)
Посмотрите здесь:

где ошибка в коде C++
Сравнение трех первых чисел из пяти C++
C++ Где то в коде ошибка
Сравнение трех чисел ограниченными средствами C++
C++ Где ошибка в коде?
C++ где ошибка в коде?
Где ошибка в коде? C++
C++ Ошибка где-то в коде

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nikcharn
 Аватар для Nikcharn
71 / 53 / 3
Регистрация: 31.07.2009
Сообщений: 149
18.01.2013, 11:01     Где в коде ошибка (сравнение трех чисел) #2
Какую именно проверку на сравнение вы делаете?
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
18.01.2013, 11:08     Где в коде ошибка (сравнение трех чисел) #3
22 строчку
C++
1
if (vid - min < max - vid) ret = -1;
замените на
C++
1
else if (vid - min < max - vid) ret = -1;
Yandex
Объявления
18.01.2013, 11:08     Где в коде ошибка (сравнение трех чисел)
Ответ Создать тему
Опции темы

Текущее время: 00:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru