Модуль 1.4 (Условный оператор) научит использовать условия т.е «если» и «иначе».
Ниже представлены примеры задач с решением на C++ на тему Условный операторы.
Даны два целых числа. Выведите значение наибольшего из них. Если числа равны, выведите любое из них.
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
if (a >= b) {
cout << a;
}
else {
cout << b;
}
}
Даны два целых числа. Программа должна вывести единицу, если первое число больше второго, двойку, если второе больше первого, или ноль, если они равны.
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
if (a > b) {
cout << 1;
}
else if (a < b){
cout << 2;
}
else {
cout << 0;
}
return 0;
}
Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число). Под наибольшим в этой задаче понимается число, которое не меньше, чем любое другое.
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
if (a >= b && a >= c) {
cout << a;
}
else if (b >= a && b >= c) {
cout << b;
}
else {
cout << c;
}
return 0;
}
Даны три натуральных числа A, B, C. Определите, существует ли треугольник с такими сторонами. Если треугольник существует, выведите строку YES, иначе выведите строку NO.
Треугольник — это три точки, не лежащие на одной прямой.
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
if (a + b > c && a + c > b && b + c > a) {
cout << "YES";
}
else {
cout << "NO";
}
return 0;
}
Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
if (a == b && a == c) {
cout << 3;
}
else if (a != b && a != c && b != c) {
cout << 0;
}
else {
cout << 2;
}
return 0;
}
Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a ==c || b == d) {
cout << "YES";
}
else {
cout << "NO";
}
return 0;
}
Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
if ((a ==c && abs(b - d) == 1) || (b == d && abs(a - c) == 1) || (abs(b - d) == 1 && abs(a - c) == 1)) {
cout << "YES";
}
else {
cout << "NO";
}
return 0;
}
Шахматный слон ходит по диагонали. Даны две различные клетки шахматной доски, определите, может ли слон попасть с первой клетки на вторую одним ходом.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << ((abs(a - c) == abs(b - d)) ? "YES" : "NO");
return 0;
}
Шахматный ферзь ходит по диагонали, горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ферзь попасть с первой клетки на вторую одним ходом.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << ((abs(a - c) == abs(b - d) || (a == c) || (b == d)) ? "YES" : "NO");
return 0;
}
Шахматный конь ходит буквой “Г” — на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот. Даны две различные клетки шахматной доски, определите, может ли конь попасть с первой клетки на вторую одним ходом.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << ((abs(a - c) == 1 && abs(b - d) == 2) || (abs(a - c) == 2 && abs(b - d) == 1) ? "YES" : "NO");
return 0;
}
Шоколадка имеет вид прямоугольника, разделенного на N×M долек. Шоколадку можно один раз разломить по прямой на две части. Определите, можно ли таким образом отломить от шоколадки ровно K долек.
#include <iostream>
using namespace std;
int main()
{
int N, M, K;
cin >> N >> M >> K;
cout << ((((N*M - K)%N == 0 or (N*M - K)%M == 0) and (K < N*M)) ? "YES" : "NO");
return 0;
}
Яша плавал в бассейне размером N×M метров и устал. В этот момент он обнаружил, что находится на расстоянии X метров от одного из длинных бортиков (не обязательно от ближайшего) и Y метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша, чтобы выбраться из бассейна на бортик?
#include <iostream>
using namespace std;
int main()
{
int N, M, X, Y, min, max;
cin >> N >> M >> X >> Y;
if (M < N) {
min = M;
max = N;
} else{
min = N;
max = M;
}
if (min - X < X and min - X < Y and min - X < max - Y) {
cout << min - X;
} else if (X < Y and X < max - Y){
cout << X;
} else if (Y < max - Y) {
cout << Y;
} else {
cout << max - Y;
}
return 0;
}
Дано три числа. Упорядочите их в порядке неубывания.
#include <iostream>
using namespace std;
int main() {
int a,b,c;
cin>>a>>b>>c;
if(a<=b and b<=c){
cout<<a<<" "<<b<<" "<<c;
}else if(b<=a and a<=c){
cout<<b<<" "<<a<<" "<<c;
}else if(c<=a and a<=b){
cout<<c<<" "<<a<<" "<<b;
}else if(c<=b and b<=a){
cout<<c<<" "<<b<<" "<<a;
}else if(a<=c and c<=b){
cout<<a<<" "<<c<<" "<<b;
}else{
cout<<b<<" "<<c<<" "<<a;
}
}
Есть две коробки, первая размером A1×B1×C1, вторая размером A2×B2×C2. Определите, можно ли разместить одну из этих коробок внутри другой, при условии, что поворачивать коробки можно только на 90 градусов вокруг ребер.
#include <iostream>
using namespace std;
int main() {
int a1,b1,c1,a2,b2,c2;
cin>>a1>>b1>>c1>>a2>>b2>>c2;
if(a1 > b1)
swap(a1,b1);
if(a1 > c1)
swap(a1,c1);
if(b1 > c1)
swap(b1,c1);
if(a2 > b2)
swap(a2,b2);
if(a2 > c2)
swap(a2,c2);
if(b2 > c2)
swap(b2,c2);
if(a1==a2 && b1==b2 && c1==c2)
cout<<"Boxes are equal";
else
if(a1<=a2 && b1<=b2 && c1<=c2)
cout<<"The first box is smaller than the second one";
else
if(a1>=a2 && b1>=b2 && c1>=c2)
cout<<"The first box is larger than the second one";
else
cout<<"Boxes are incomparable";
return 0;
}
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Яша плавал в бассейне размером N×M метров и устал. В этот момент он обнаружил, что находится на расстоянии X метров от одного из длинных бортиков (не обязательно от ближайшего) и Y метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша, чтобы выбраться из бассейна на бортик?
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int N, M, X, Y;
cin >> N >> M >> X >> Y;
int min_dist = min({X, Y, N — X, M — Y});
cout << min_dist << endl;
return 0;
}