Помогите с алгоритмом ветвления

В задании написано ввести три числа и вывести на экран сообщение о максимальном и минимальном числах, используя if и else!
Пытался, никак не выходит, сделал вот так!

P.S.
Помогите сделать тоже самое только используя условные операторы if и else! Заранее спасибо!

// VETVLENIE.cpp:

#include "stdafx.h"

#include <iostream>
using namespace std;

int main()
{
    setlocale (0 ,"");
double a, b, c, max, min;

cout << "Введите три числа : " << endl;

cin >> a >> b >> c;

if (a > b) max = a;

if (b > c) max = b;

if (c > max) max = c;


cout << "максимальное число = " << max << endl;


if (a < b) min = a;

if (b < c) min = b;

if (c < min) min = c;


cout << "минимальное число = " << min << endl;


system ("pause");

       return 0;
}

Так ?

#include <iostream>
using namespace std;

int main()
{
    setlocale(LC_ALL,"Rus");
    double a, b, c, max, min;
    cout << "Введите 3 числа: " << endl;
    cin >> a >> b >> c;
    if(a > b && a > c)
        max = a;
    else 
    {
        if(b > a && b > c)
            max =  b;
        else 
        {
            if(c > a && c > b)
                max = c;
        }
    }
    cout << "Максимальное число = " << max << endl;
    if(a < b && a < c)
        min = a;
    else 
    {
        if(b < a && b < c)
            min = b;
        else 
        {
            if(c < a && c < b)
                min = c;
        }
    }
    cout << "Минимальное число = " << min << endl;
}

ph@nntom, огромное спасибо за помощь, то что нужно!

Да, единственный момент: если человек вводит одинаковые числа, то ему выведет или самое большое / или самое меньшее число (в зависимости от ввода)
Предлагаю расширить программу: суть такова – придется тогда учитывать и равенство вводимых значений;
для этого: алгоритм

если ( первое число больше второго) {
второе больше /=/ или меньше третьего }
если (первое число равно второму) {
// то же самое 
}
если ( первое число меньше второго) {
// ...
}

P.S. программа будет выводить самое большее и меньшее число или большее/ меньшее и а эти 2 числа равны

// а вот и сама программа ) поправьте, если что))

    #include <iostream>
using namespace std;

int main(int argc, const char * argv[])
{
    double first,second,third;
    cout << " Здравствуйте, Вам надо будет ввести последовательно 3 числа\n";
    cout <<" Первое число:\n";
    cin >> first;
    cout << " Введите второе число:\n";
    cin >> second;
    cout << " Введите третье число \n";
    cin >> third;
    if ( first > second ) {
        if (second > third) {
            cout << " Самое большое число: " << first;
            cout << " Самое маленькое число :" <<third;

        }
        else if ( second == third) {
            cout << " Самое большое число:" << first;
            cout << " Два остальных числа" << second <<"и" <<third <<"равны";
        }
        else if (second < third) {
            if (first > third) {
                cout << " Самое большое число "<< first;
                cout << " самое меньшее число " << second;
            }
            else if ( first == third){
                cout << " Самое маленькое число " << second;
                cout << " Два остальных равны"<<first <<" и" <<third ;
            }
            else if ( first < third) {
                cout << " Самое большое число" <<third;
                cout << " САмое маленькое число" << second;
            }

        }



    }
    else if ( first ==second) {
        if ( first > third) {
            cout << " Самое маленькое число" << third;
            cout << " А числа: " << first <<"и" << second <<"равны";
        }
        else if ( first == third)
            cout << " Вы ввели три одинаковых числа";
        else if ( first < third) {
            cout << " Самое большое число " << third;
            cout << " А два остальных меньше:" << first <<" и " <<second;
        }
    }
    else if ( first <second) {
        if ( second > third) {
            cout << " Самое большое число" << third;
            cout << " Самое маленькое число" << first;
        }
        else if ( second == third){
            cout << " Самое маленькое число " << first;
            cout << " А два остальных:" << second <<"и" <<third <<"равны";
        }
        else if ( second < third) {
            cout << " Самое маленькое число:" << first;
            cout << " Самое большое число :"<<third;
        }
    }
    cout << " До свидания!";

    /*if (first > second && first > third)
        cout << " Самое большое число: " << first ;
    if ( second > first && second > third)
        cout << " Самое большое число: " << second ;
    if (third > first && third > second)
        cout << " Самое большое число: " << third ;
*/
    // insert code here...
  //  std::cout << "Hello, World!\n";
    return 0;
}

Читаем задание:

В задании написано ввести три числа и вывести на экран сообщение о максимальном и минимальном числах, используя if и else!

Даже если два числа из трех равны они больше, либо меньше третьего. Либо все три числа равны.
Таким образом решение может быть таким (для удобства ввода используем цикл for)

#include <iostream>

using namespace std;

const int SIZE = 3;

int main()
{
    cout << "Enter three numbers >>>\n";
    double nmbrs[SIZE], min = 0, max = 0;

    for (int i = 0; i < SIZE; i++){
        cout << "#" << i + 1 << ": ";
        cin >> nmbrs[i];
        if (1 == i){
            if (nmbrs[i - 1] < nmbrs[i]){
                min = nmbrs[i - 1];
                max = nmbrs[i];
            }
            else if (nmbrs[i - 1] > nmbrs[i]){
                min = nmbrs[i];
                max = nmbrs[i - 1];
            }
            else{
                min = max = nmbrs[i];
            }
        }
        else if (i != 0){
            if (nmbrs[i] < min)
                min = nmbrs[i];
            else if (nmbrs[i] > max)
                max = nmbrs[i];
        }
    }
    if (min != max)
        cout << "Min value: " << min << "\n"
            << "Max value: " << max << "\n";
    else
        cout << min << " = " << max << " = " << max << "\n";

    return 0;
}

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

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

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.