#include <iostream> using namespace std; int main() { setlocale(0,""); int a; cout<<"введите значение погоды"<<endl; cout<<"1-тепло"<<endl; cout<<"2-жарко"<<endl; cout<<"3-холодно"<<endl; cout<<"4-колотун"<<endl; cin>>a; switch (a) { case 1: cout<<"вы можете одеть джинсы и футболку"<<endl; break; case 2: cout<<"вы можете одеть шорты и майку "<<endl; break; case 3: cout<<"вы можете одеть штаны и толстовку "<<endl; break; case 4: cout<<"вы можете одеть куртку и свитер с подштанниками и ватными штанми "<<endl; break; } return 0; }
using namespace std;
int main()
{ setlocale(0,"");
int a;
cout<<"введите значение погоды"<<endl;
cout<<"1-тепло"<<endl;
cout<<"2-жарко"<<endl;
cout<<"3-холодно"<<endl;
cout<<"4-колотун"<<endl;
cin>>a;
switch (a)
{
case 1: cout<<"вы можете одеть джинсы и футболку"<<endl; break;
case 2: cout<<"вы можете одеть шорты и майку "<<endl; break;
case 3: cout<<"вы можете одеть штаны и толстовку "<<endl; break;
case 4: cout<<"вы можете одеть куртку и свитер с подштанниками и ватными штанми "<<endl;
break;
}
return 0;
}
m & 1 - это битовая конъюнкция. Результатом будет 1, если m нечетное, и 0, если m - четное (то есть, содержит или не содержит соответствующий разряд)
Выражение вида T ? X : Y, где T - логическое высказывание, принимает значение X, если T истинно, и Y, если T ложно.
Соответственно, i = (m & 1) == 1 ? m : m + 1 означает, что
если m нечетное, то i = m
если четное, i = m+1 (то есть, первое нечетное число после m)
i += 2 означает, что цикл идет с шагом, соответственно, рассматриваются только нечетные числа.