Используя оператор switch вывести по возрастанию 3 числа - C++ - вопрос №2339409

#include «stdafx.h»

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale (LC_CTYPE, «rus»); // русификация

int a, b, c, min, middle, max; // объявление переменных

cout << «Введите три числа: \n»;

cout << «a = »;

cin >> a;

cout << «b = »;

cin >> b;

cout << «c = »;

cin >> c;

{

switch (a, b, c)

{

case 1:

if (a > b) // если a > b, то

{

if (a > c) // если a > с, то

{

max = a;

if (c > b) // если с > b, то

{

middle = c;

min = b;

}

else // иначе

{

middle = b;

min = c;

}

}

else // иначе

{

max = c;

middle = a;

min = b;

}

}

else // иначе

{

break;

case 2:

if (b > c) // если b > c

{

max = b;

if (c > a)

{

middle = c;

min = a;

}

else // иначе

{

middle = a;

min = c;

}

}

else // иначе

{

max = c;

middle = b;

min = a;

}

}

break;

}

cout << «Возрастающая последовательность: » << endl << min << endl << middle << endl << max << endl;

system(«pause»);

return 0;

}

}

У меня выдает ошибку: «Не инициализированы переменные min, middle и max».Что мне делать?

Лучший ответ по мнению автора

А зачем тут switch? switch тут «не пришей — не пристегни» по-хорошему.
Сама программа тривиальная

#include <iostream>
using namespace std;
int main()
{
    int a, b, c, min, mid, max;
    cout << «a = »;
    cin >> a;
    cout << «b = »;
    cin >> b;
    cout << «c = »;
    cin >> c;
    max = (a>b?a:b)>c?(a>b?a:b):c;
    min = (a<b?a:b)<c?(a<b?a:b):c;
    mid = a + b + c — min — max;
    a = min;
    b = mid;
    c = max;
    cout << a << " " << b << " " << c;
    return 0;
}
21.02.17
Лучший ответ по мнению автора

Другие ответы

В вашей программе оператор switch не используется, значением выражения (a, b, c) будет значение переменной с. 
Готов помочь с написанием программы за умеренную плату.

20.02.17

Виталий

Читать ответы
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store