3 / 3 / 1
Регистрация: 20.11.2012
Сообщений: 197
1

Найти сумму двух наибольших из трех заданных различных чисел

17.02.2013, 14:58. Показов 2775. Ответов 9
Метки нет (Все метки)

Найти сумму двух наибольших из трех заданных различных чисел.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2013, 14:58
Ответы с готовыми решениями:

Из трёх заданных чисел найти сумму двух наибольших
Данные три числа. Найти сумму двух наибольших из них.

Сумма двух наибольших из трех заданных чисел
Даны три числа. Требуется найти сумму двух наибольших из них. Формат входных данных Вводится...

Нахождение суммы двух наибольших из трех различных чисел
Как это сделать?

Найти сумму двух наибольших из трех различных чисел
составить программу нахождения суммы двух наибольших из трех различных чисел на турбо паскаль !!(((...

9
24 / 10 / 1
Регистрация: 21.05.2012
Сообщений: 37
17.02.2013, 15:04 2
Находишь max1 и max2, а затем складываешь...
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
17.02.2013, 15:22 3
C++
1
 a>b ? (a > c ? a : c ) : b
Добавлено через 7 минут
не в тему, сорри

Добавлено через 3 минуты
C++
1
2
3
4
5
6
#include <iostream>
int main(){
    int a=1, b=2, c=3;
    std::cout<<std::max(a,b)*std::max(a,c)<<std::endl;
    return 0;
}
0
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
17.02.2013, 15:37 4
Цитата Сообщение от vua72 Посмотреть сообщение
C++
1
 a>b ? (a > c ? a : c ) : b
Добавлено через 7 минут
не в тему, сорри

Добавлено через 3 минуты
C++
1
2
3
4
5
6
#include <iostream>
int main(){
    int a=1, b=2, c=3;
    std::cout<<std::max(a,b)*std::max(a,c)<<std::endl;
    return 0;
}
Решение некорректно.
1. Нужна сумма чисел
2. Для, например, следующих данных: a = 3, b = 2, c = 1 будет выполняться операция над двумя тройками.
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
17.02.2013, 15:52 5
C++
1
2
3
4
5
6
7
#include <iostream>
int main(){
    int a=1, b=2, c=6;
    int rez=  a>b ? a+std::max(b,c) : b+std::max(a,c);
    std::cout<<rez<<std::endl;
    return 0;
}
0
24 / 10 / 1
Регистрация: 21.05.2012
Сообщений: 37
17.02.2013, 15:55 6
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int a;
    int b;
    int c;
    cout << "Vvedite 3 chisla" << endl;
    cin >> a >> b >> c;
    int max1;
    int max2;
    int sum = 0;
    if ((a > b)&&(a > c)) max1 = a;
    if ((b > a)&&(b > c)) max1 = b;
    if ((c > b)&&(c > a)) max1 = c;
    if (max1 == a)
    {
        if (c > b) 
            max2 = c;
        else 
            max2 = b;
    }
    if (max1 == b)
    {
        if (a > c) 
            max2 = a;
        else 
            max2 = c;
    }
    if (max1 == c)
    {
        if (a > b) 
            max2 = a;
        else 
            max2 = b;
    }
    sum = max1 + max2;
    cout << "Result: " << sum << endl;
    getch();
    return 0;
}
Ну или так) Мой вариант для особо "одаренных"...
1
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
17.02.2013, 18:26 7
Цитата Сообщение от Karuselia Посмотреть сообщение
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int a;
    int b;
    int c;
    cout << "Vvedite 3 chisla" << endl;
    cin >> a >> b >> c;
    int max1;
    int max2;
    int sum = 0;
    if ((a > b)&&(a > c)) max1 = a;
    if ((b > a)&&(b > c)) max1 = b;
    if ((c > b)&&(c > a)) max1 = c;
    if (max1 == a)
    {
        if (c > b) 
            max2 = c;
        else 
            max2 = b;
    }
    if (max1 == b)
    {
        if (a > c) 
            max2 = a;
        else 
            max2 = c;
    }
    if (max1 == c)
    {
        if (a > b) 
            max2 = a;
        else 
            max2 = b;
    }
    sum = max1 + max2;
    cout << "Result: " << sum << endl;
    getch();
    return 0;
}


Ну или так) Мой вариант для особо "одаренных"...
Да уж, ну ладно свою функцию максимума объявить, но это действительно для особо одаренных.

Добавлено через 3 минуты
C++
1
rez=  a>b ? a+std::max(b,c) : b+std::max(a,c);
это же элементарно разворачивается
C++
1
2
3
4
5
6
int max (int a, int b){
 if (a>b) return a;
else return b;
}
...
if (a>b ) rez = a+max(b,c) ; else rez b+max(a,c);
0
24 / 10 / 1
Регистрация: 21.05.2012
Сообщений: 37
18.02.2013, 11:41 8
Ну для меня, к примеру, там были закорючки(в первом коде), а функции... Ну как то не складываются у меня отношения с функциями))
0
vua72
18.02.2013, 14:13
  #9

Не по теме:

Цитата Сообщение от Karuselia Посмотреть сообщение
Ну для меня, к примеру, там были закорючки(в первом коде), а функции... Ну как то не складываются у меня отношения с функциями))
С++, как минимум, поддерживает процедурный и ООП стили программирования.
В вашем случае, если уже изучались функции - писать тот код преступно, а использовать язык и не знать стандартных функций - вообще ахтунг.
"Закорючки", тернарный оператор, который используется довольно часто.
Но это все, имх, и не принимайте близко к сердцу, удачи вам в освоении программирования.

0
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
18.02.2013, 14:30 10
Мой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using namespace std;
 
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    int sum = a + b + c - min(min(a,b),c);
    cout<<sum;
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2013, 14:30
Помогаю со студенческими работами здесь

Найти сумму двух наибольших из трех различных чисел
Еще одна задача: Составить программу нахождения суммы двух наибольших из трех различных чисел. И...

Найти сумму двух наибольших из трех заданных чисел
Помогите решить задачу: даны три числа, найти сумму двух наибольших из них.

Найти сумму двух наибольших чисел из трех заданных
Даны три числа. Найти сумму двух наибольших из них. В Free Pascal

Не используя логические операторы, найдите сумму двух наибольших из трех заданных чисел
Даны три числа. Не используя логические операторы, найдите сумму двух наибольших из них....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru