Понесло на C++
Михаил Попов 31.12.2015 14:20 C++ , Алгоритмы нет комментариевЧто то меня уже 2 дня подряд несет на C++. Еще один язык, который хочется освоить. Пока прохожу курс и решаю маленькие задачки. Вот решил опубликовать примеры задачек на операторы условия, которые сейчас решаю. Пока опубликую 3 задачки, если кому будет интересно, напишите в комментарии, опубликую еще. Включаю не весь код программ, а только основную часть. Оговорюсь, что сейчас не собираюсь учить C++ глубоко. Хочу освоить его поверхностно, т.к. при прохождении курса по алгоритмам встречал похожие задачи на C++ и не мог их до конца понять. Сейчас хочу освоить язык на базовом уровне, чтобы хотя бы понимать, о чем речь, глядя в код на C++. Иногда приходится на него смотреть.
Задача №1
Даны три натуральных числа A, B, C. Определите, существует ли треугольник с такими сторонами. Если треугольник существует, выведите строку YES, иначе выведите строку NO.
Треугольник — это три точки, не лежащие на одной прямой.
Формат входных данных
Вводятся три числа.
Формат выходных данных
Выведите ответ на задачу.
Sample Input: 3 4 5 Sample Output: YES
Решение
int a, b, c;
cin >> a >> b >> c;
if (a + b > c && a + c > b && b + c > a) {
cout << "YES";
}
else {
cout << "NO";
}
Задача №2
Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).
Формат входных данных
Вводятся три числа.
Формат выходных данных
Выведите ответ на задачу.
Sample Input: 1 2 3 Sample Output: 0
Решение:
int a, b, c;
cin >> a >> b >> c;
if (a == b && a == c) {
cout << 3;
}
else if (a == b || a == c || b == c) {
cout << 2;
}
else {
cout << 0;
}
Задача №3
Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом.
Формат входных данных
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Формат выходных данных
Программа должна вывести YES, если из первой клетки ходом ладьи можно попасть во вторую или NO в противном случае.
Sample Input: 4 4 5 5 Sample Output: NO
P.S. Нужно помнить, что ладья может ходить на несколько клеток.
чтобы все получилось, горизонталь или вертикаль не должна измениться.
Решение
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
if (x1 == x2 || y1 == y2) {
cout << "YES";
}
else {
cout << "NO";
}
Изучаем цикл while на C++ | Как выпустить свой продукт на 1С |
0 0 |