Решение модуля 1.4 Введение в программирование C++

Модуль 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;
}

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Владос
Владос
1 месяц назад

Яша плавал в бассейне размером 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;
}

1
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x