lab4

Run Settings
LanguageC++
Language Version
Run Command
#include <Windows.h> #include <iostream> #include <cmath> constexpr auto pi = 3.141521; using namespace std; void task63(int value) { cout << "\nзадание № 63"; double Scircle, Ssquare, a, ds; do { cout << "\nвведите площадь круга" << endl; if (!(cin >> Scircle) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (Scircle == value); do { cout << "введите площадь квадрата" << endl; if (!(cin >> Ssquare) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "ошибка ввода" << endl; } } while (Ssquare == value); a = sqrt(Ssquare); ds = sqrt(4 * Scircle / pi); if (ds <= a) cout << "\nкруг поместится в квадрат" << endl; else if (a * sqrt(2) / 2 <= ds) cout << "\nквадрат поместится в круге" << endl; else { cout << "\nошибка. отпишитесь создателю" << endl; } } void task74(int value) { cout << "\nзадание № 74"; int n, t, s, d, a; do { cout << "\nвведите трехзначное число " << endl; if (!(cin >> n) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (n == value); if (n > 99) { t = n / 100; s = (n / 10) % 10; d = n % 10; if ((t + s + d > 9) && (t + s + d < 100)) cout << "сумма цифр двузначное число" << endl; else cout << "сумма цифр не двузначное число" << endl; if ((t * s * d > 99) && (t * s * d < 999)) cout << "произведение цифр трехзначное число" << endl; else cout << "произведение цифр не трехзначное число" << endl; if ((t + s + d) % 5 == 0) cout << "сумма цифр кратна 5" << endl; else { cout << "сумма цифр не кратна 5" << endl; } do { cout << "введите целочисленное а" << endl; if (!(cin >> a) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (a == value); if ((t + s + d) % a == 0) cout << "сумма цифр кратна числу а" << endl; else cout << "сумма цифр не кратна числу а" << endl; } else cout << "введено не трехзначное число"; } void task85(int value) { cout << "задание № 85"<<endl; int a, b, c; cout << "\nвведите переменные a,b,c" << endl; do { if (!(cin >> a) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (a == value); do { if (!(cin >> b) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (b == value); do { if (!(cin >> c) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (c == value); if ((a >= 0) && (b >= 0) && (c >= 0)) cout << "отрицательных чисел нет" << endl; else if (((a < 0) && (b >= 0) && (c >= 0)) || ((b < 0) && (a >= 0) && (c >= 0)) || ((c < 0) && (a >= 0) && (b >= 0))) cout << "1 отрицательное число" << endl; else if (((a < 0) && (b < 0) && (c >= 0)) || ((a < 0) && (b >= 0) && (c < 0)) || ((a >= 0) && (b < 0) && (c < 0))) cout << "2 отрицательных числа" << endl; else if ((a < 0) && (b < 0) && (c < 0)) cout << "3 отрицательных числа" << endl; else cout << "ошибка!" << endl; } void task96(int value) { cout << "задание № 96"; double m, n; do { cout << "введите массу пакета c рисом m \nm:" << endl; if (!(cin >> m) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (m == value); do { cout << "введите массу пакета c рисом n" << endl; if (!(cin >> n) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (n == value); if (m > n) cout << "первый пакет тяжелее второго. Его вес " << m << " кг"<<endl; else { if (m < n) cout << "второй пакет тяжелее первого. Его вес " << n << " кг"<<endl; else { if (m == n) cout << "масса пакетов равна"<<endl; else { cout << "ошибка"<<endl; } } } } void task107(int value) { double a, b, d, e, g, h, k, l; cout << "задание № 107" << endl; do { cout << "введите координаты первой вершины треугольника \nx:" << endl; if (!(cin >> a) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (a == value); do { cout << "y:" << endl; if (!(cin >> b) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (b == value); cout << "введите координаты второй вершины треугольника" << endl; do { cout << "x:" << endl; if (!(cin >> d) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (d == value); do { cout << "y:" << endl; if (!(cin >> e) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (e == value); cout << "введите координаты третей вершины треугольника" << endl; do { cout << "x:" << endl; if (!(cin >> g) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (g == value); do { cout << "y:" << endl; if (!(cin >> h) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (h == value); cout << "введите координаты точки" << endl; do { cout << "x:" << endl; if (!(cin >> k) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (k == value); do { cout << "y:" << endl; if (!(cin >> l) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (l == value); if (((k <= a)&&(k <= d)&&(k <= g)) && ((l <= b)&&(l <= e)&&(l <= h))) cout << "точка пренадлежит треугольнику" << endl; else cout << "точка не пренадлежит треугольнику" << endl; } void task118(int value) { cout << "\nзадание № 118"; double a, r, R; cout << "\nвведите сторону правильного треугольника" << endl; do { if (!(cin >> a) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (a == value); cout << "\nвведите радиус круга" << endl; do { if (!(cin >> r) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (r == value); R = a * sqrt(3) / 3; if (r >= R) cout << "\nтреугольник поместится в круг" << endl; else { cout << "\nтреугольник не поместится в круг" << endl; } } void task129(int value) { cout << "задание № 129"; double sale, input; cout << "\nвведите стоимость книг" << endl; do { if (!(cin >> sale) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (sale == value); cout << "введите сумму денег внесенную покупателем" << endl; do { if (!(cin >> input) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (input == value); if (sale > input) cout << "недостаточная сумма. внесите еще " << sale - input << endl; else if (sale == input) cout << "спасибо" << endl; else if (sale < input) cout << "возьмите сдачу " << input - sale << endl; } void task140(int value) { cout << "задание № 140"; double a, b, c; cout << "\nвведите длины сторон, после каждого ввода нажимайте enter" << endl; do { cout << "a:" << endl; if (!(cin >> a) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (a == value); do { cout << "b:" << endl; if (!(cin >> b) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (b == value); do { cout << "c:" << endl; if (!(cin >> c) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (c == value); if (a == b == c) cout << "\nтреугольник равносторонний" << endl; else cout << "\nтреугольник не равносторонний" << endl; } void task151(int value) { cout << "задание № 151" << endl; // ноль не принимает и не одна защита от дурака это не может обойти int x11, x21, y11, y21, d1, d2, s1, s2, x12, y12, x13, y13, x14, y14, x22, y22, x23, y23, x24, y24; cout << "введите координаты левого нижнего угла первого прямоугольника" << endl; do { cout << "x:" << endl; if (!(cin >> x11) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (x11 == value); do { cout << "y:" << endl; if (!(cin >> y11) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (y11 == value); cout << "введите координаты левого нижнего угла второго прямоугольника" << endl; do { cout << "x:" << endl; if (!(cin >> x21) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (x21 == value); do { cout << "y:" << endl; if (!(cin >> y21) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (y21 == value); cout << "введите длину и ширину первого прямоугольника" << endl; do { cout << "введите длину:" << endl; if (!(cin >> d1) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (d1 == value); do { cout << "введите ширину:" << endl; if (!(cin >> s1) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (s1 == value); cout << "введите длину и ширину второго прямоугольника" << endl; do { cout << "введите длину:" << endl; if (!(cin >> d2) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (d2 == value); do { cout << "введите ширину:" << endl; if (!(cin >> s2) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (s2 == value); if ((x11 == x21) && (y11 == y21) && (d1 <= d2) && (s1 <= s2)) cout << "все точки первого прямоугольника пренадлежат второму" << endl; else cout << "все точки первого прямоугольника не пренадлежат второму" << endl; if (((x11 == x21) && (y11 == y21) && (d1 <= d2) && (s1 <= s2)) || ((x11 == x21) && (y11 == y21) && (d1 >= d2) && (s1 >= s2))) cout << "точки одного из прямоугольников пренадлежат другому" << endl; else cout << "точки одного из прямоугольников не пренадлежат другому" << endl; x12 = x11 + d1; x14 = x11 + s1; x13 = x12 + s1; x22 = x21 + d2; x24 = x21 + s2; x23 = x22 + s2; y12 = y11 + d1; y14 = y11 + s1; y13 = y12 + s1; y22 = y21 + d2; y24 = y21 + s2; y23 = y22 + s2; if (((x11 == x21) && (x12 == x22) && (x13 == x23) && (x14 = x24)) && ((y11 == y21) && (y12 == y22) && (y13 == y23) && (y14 = y24))) cout << "прямоугольники друг в друге" << endl; else if ((((x11 < x21) && (x12 < x22) && (x13 >= x23) && (x14 >= x24)) && (y11 < y21) && (y12 < y22) && (y13 >= y23) && (y14 >= y24)) || (((x11 >= x21) && (x12 < x22) && (x13 < x23) && (x14 >= x24)) && ((y11 >= y21) && (y12 < y22) && (y13 < y23) && (y14 >= y24))) || (((x11 >= x21) && (x12 >= x22) && (x13 < x23) && (x14 < x24)) && ((y11 >= y21) && (y12 >= y22) && (y13 < y23) && (y14 < y24))) || (((x11 < x21) && (x12 >= x22) && (x13 >= x23) && (x14 < x24)) && ((y11 < y21) && (y12 >= y22) && (y13 >= y23) && (y14 < y24))) || (((x11 > x21) && (x12 > x22) && (x13 >= x23) && (x14 >= x24)) && ((y11 > y21) && (y12 > y22) && (y13 >= y23) && (y14 >= y24))) || (((x11 >= x21) && (x12 > x22) && (x13 > x23) && (x14 >= x24)) && ((y11 >= y21) && (y12 > y22) && (y13 > y23) && (y14 >= y24))) || (((x11 >= x21) && (x12 >= x22) && (x13 > x23) && (x14 > x24)) && ((y11 >= y21) && (y12 >= y22) && (y13 > y23) && (y14 > y24))) || (((x11 >= x21) && (x12 >= x22) && (x13 > x23) && (x14 > x24) && (y11 >= y21) && (y12 >= y22) && (y13 > y23) && (y14 > y24))) || (((x11 > x21) && (x12 >= x22) && (x13 >= x23) && (x14 > x24)) && ((y11 > y21) && (y12 >= y22) && (y13 >= y23) && (y14 > y24)))) cout << "прямоугольники пересекаются" << endl; else cout << "прямоугольники не пересекаются" << endl; } void task162(int value) { cout << "задание № 162" << endl; int x1, y1, x2, y2, x3, y3, x4, y4, s; cout << "введите координаты первой вершины прямоугольника " << endl; do { cout << "x:" << endl; if (!(cin >> x1) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (x1 == value); do { cout << "y:" << endl; if (!(cin >> y1) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (y1 == value); cout << "введите координаты второй вершины прямоугольника " << endl; do { cout << "x:" << endl; if (!(cin >> x2) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (x2 == value); do { cout << "y:" << endl; if (!(cin >> y2) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (y2 == value); cout << "введите координаты третей вершины прямоугольника " << endl; do { cout << "x:" << endl; if (!(cin >> x3) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (x3 == value); do { cout << "y:" << endl; if (!(cin >> y3) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (y3 == value); cout << "введите координаты четвертой вершины прямоугольника " << endl; do { cout << "x:" << endl; if (!(cin >> x4) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (x4 == value); do { cout << "y:" << endl; if (!(cin >> y4) || cin.get() != '\n') { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } } while (y4 == value); if ((x1 == 0) && (x2 > 0) && (x3 > 0) && (x4 == 0) && (y1 > 0) && (y2 > 0) && (y3 > 0) && (y4 > 0)) { s = (x2 - x1) * (y2 - y3); cout << "площадь части прямоугольника, расположенной в первом квадранте равняется " << s << endl; } else if ((x1 > 0) && (x2 > 0) && (x3 > 0) && (x4 > 0) && (y1 > 0) && (y2 > 0) && (y3 == 0) && (y4 == 0)) { s = (x2 - x1) * (y2 - y3); cout << "площадь части прямоугольника, расположенной в первом квадранте равняется " << s << endl; } else if ((x1 > 0) && (x2 > 0) && (x3 > 0) && (x4 > 0) && (y1 > 0) && (y2 > 0) && (y3 > 0) && (y4 > 0)) { s = (x2 - x1) * (y2 - y3); cout << "площадь части прямоугольника, расположенной в первом квадранте равняется " << s << endl; } else if ((x1 == 0) && (x2 > 0) && (x3 > 0) && (x4 == 0) && (y1 > 0) && (y2 > 0) && (y3 == 0) && (y4 == 0)) { s = (x2 - x1) * (y2 - y3); cout << "площадь части прямоугольника, расположенной в первом квадранте равняется " << s << endl; } else if ((x1 < 0) && (x2 > 0) && (x3 > 0) && (x4 < 0) && (y1 > 0) && (y2 > 0) && (y3 > 0) && (y4 > 0)) { s = x2 * (y2 - y3); cout << "площадь части прямоугольника, расположенной в первом квадранте равняется " << s << endl; } else if ((x1 > 0) && (x2 > 0) && (x3 > 0) && (x4 > 0) && (y1 > 0) && (y2 > 0) && (y3 < 0) && (y4 < 0)) { s = (x2 - x1) * y1; cout << "площадь части прямоугольника, расположенной в первом квадранте равняется " << s << endl; } else { cout << "неправильный ввод координат" << endl; } } int main() { int value = 0; system("color 17"); setlocale(LC_CTYPE, "rus"); cout << "\nдратути" << endl; task63(value); task74(value); task85(value); task96(value); task118(value); task129(value); task140(value); task151(value); task162(value); return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines