Технологии
Решено
Используя оператор 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».
февраль 20, 2017 г.
-
Всего ответов: 2
-
В вашей программе оператор switch не используется, значением выражения (a, b, c) будет значение переменной с.
Готов помочь с написанием программы за умеренную плату.
-
А зачем тут 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;
}Лучший ответ по мнению автора