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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VlaDdislav
2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
#1

из трех чисел определить максимальное, ПомоГите исправить ошибку - C++

31.01.2013, 23:33. Просмотров 317. Ответов 4
Метки нет (Все метки)

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
34
35
36
37
38
#include <iostream>
using namespace std;
double MaxOfThree(double a, double b, double c, int max=0);
void PrintMax();
void main()
{
    
double MaxOfThree(double a, double b, double c, int max=0);
void PrintMax();
}
 
 
double MaxOfThree(double a, double b, double c, int max=0)
{
cout << "a= ";
    cin >> a ;
    cout << "b= ";
    cin >> b ;
    cout << "c= ";
cin  >> c;
 
if (a>b)
        {
        if (a>c) max = 'a';
        else
                {
                if (b>c) max ='b';
                else max = 'c';
 
                }
        }
 
}
 
void PrintMax()
{
    cout << "max= " << max << endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 23:33     из трех чисел определить максимальное, ПомоГите исправить ошибку
Посмотрите здесь:

помогите исправить ошибку C++
Помогите исправить ошибку C++
Помогите исправить ошибку C++
C++ Помогите Исправить Ошибку
Помогите исправить ошибку C++
Помогите исправить ошибку.. C++
C++ Помогите исправить ошибку!
C++ Программа для подсчета четных чисел. Помогите исправить ошибку
C++ Найти максимальное из трех чисел, введенных пользователем
Определить максимальное число из трех чисел записанных в файл C++
Определить максимальное число из трех чисел C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
31.01.2013, 23:51     из трех чисел определить максимальное, ПомоГите исправить ошибку #2
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
34
35
36
37
38
39
#include <iostream>
 using namespace std;
double a,b,c,max;
 double MaxOfThree();
 void PrintMax();
 void main()
 {
 
MaxOfThree();
PrintMax();
 }
 
 
 double MaxOfThree()
 {
 cout << "a= ";
 cin >> a ;
 cout << "b= ";
 cin >> b ;
 cout << "c= ";
 cin >> c;
 
 if (a>b)
 {
 if (a>c) max = a;
 else
 {
 if (b>c) max =b;
 else max = c;
 
 }
 }
 
 }
 
 void PrintMax()
 {
 cout << "max= " << max << endl;
 }
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
31.01.2013, 23:57     из трех чисел определить максимальное, ПомоГите исправить ошибку #3
на равенство нет проверок. иногда чем тупее код, тем лучше:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <string>
 
void printMax(int a, int b, int c)
{
    int max = 0;
    std::string text;
 
    if (a == b && b == c)
    {
        max = a;
        text = "max: (a == b == c) = ";
    }
    else if (a == b && a > c)
    {
        max = a;
        text = "max: (a == b) = ";
    }
    else if (a == c && a > b)
    {
        max = a;
        text = "max: (a == c) = ";
    }
    else if (b == c && b > a)
    {
        max = b;
        text = "max: (b == c) = ";
    }
    else if (a > b && a > c)
    {
        max = a;
        text = "max: a = ";
    }
    else if (a > b && a < c)
    {
        max = c;
        text = "max: c = ";
    }
    else if (b > a && b > c)
    {
        max = b;
        text = "max: b = ";
    }
    else if (c > a && c > b)
    {
        max = c;
        text = "max: c = ";
    }
 
 
    std::cout << "args: a = " << a << " b = " << b << " c = " << c << " : " << text << max << std::endl;
}
 
int main()
{
    printMax(0, 0, 0);
    printMax(0, 0, 1);
    printMax(0, 1, 0);
    printMax(0, 1, 1);
    printMax(1, 0, 0);
    printMax(1, 0, 1);
    printMax(1, 1, 0);
    printMax(1, 0, 0);
 
    std::cout << "-------------------------------" << std::endl;
 
    printMax(1, 2, 3);
    printMax(2, 3, 1);
    printMax(3, 1, 2);
 
    return 0;
}
ivanui
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 16
01.02.2013, 00:20     из трех чисел определить максимальное, ПомоГите исправить ошибку #4
Цитата Сообщение от DU Посмотреть сообщение
иногда чем тупее код, тем лучше
Ну и очень по-тупому не нужно же. Можно сначала найти максимум из a и b, а потом максимальное из c и результата прошлой проверки.
C++
1
2
3
4
int max(int a, int b, int c) {
  int m = max(a, b);
  return max(m, c);
}
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
01.02.2013, 00:25     из трех чисел определить максимальное, ПомоГите исправить ошибку #5
при формировании строки вывода, описывающей все варианты все равно придется что-то подобное вышеприведенному тупому коду делать. а просто максимум найти конечно нужно таким макаром.
Yandex
Объявления
01.02.2013, 00:25     из трех чисел определить максимальное, ПомоГите исправить ошибку
Ответ Создать тему
Опции темы

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