Системное администрирование

как в C++ операторе switch написать по короче?

#include using namespace std;int main(){ long int a; cin >> a; switch (a){ case (1): cout << "1"; break; case (2): cout << "1"; break; case (3): cout << "1"; break; case (4): cout << "1"; break; case (5): cout << "2"; break; case (6): cout << "2"; break; default: cout << "3"; }"
switch (a) {
case 1: case 2: case 3: case 4: cout << 1; break;
case 5: case 6: cout << 2; break;
default: cout << 3;
}

Но ещё короче вообще без switch:

cout << (a < 1 || a > 6? 3 : a < 5? 1 : 2):
Владимир Герасько
Владимир Герасько
71 441
Лучший ответ
Можно так :)
Batir *********
Batir *********
65 504
#include using namespace std;int main(){ long int a; cin >> a; switch (a){ case 1: cout <<1; break; case 2: cout << 1; break; case 3: cout << 1; break; case (4): cout << 1; break; case 5: cout << 2; break; case 6: cout << "2"; break; default: cout << 1; }
первое можно убрать все скобочки внутри case
второе двойные ковычки тоже не нужны

далее можно сделать так
switch (a) {
case 1: case 2: case 3: case 4: cout << 1; break;
case 5: case 6: cout << 2; break;
default: cout << 3;
}

а можно вообще без switch:

cout << (a < 1 || a > 6? 3 : a < 5? 1 : 2)

если подумать то в принципе и это должно пройти

cout<< (a<5? 1 : a<7? 2 : 3);

тогда короткий код будет таким:
#include
main(){
int a;
cin>>a;
cout<<(a<5? 1 : a<7? 2 : 3);
}
Виктор Лешков
Виктор Лешков
22 008
switch (a){ case 1: case 2: case 3: case 4: cout << "1"; break; case 5: cout << "2"; case 6: cout << "2"; break; default: cout << "3"; }