Quick actions

cmd+k|ctrl+k

Navigation

Languages

lab4

Snippet info

Language

Cpp

Visibility

public

Author

skezze

Created

2019-10-17T16:36:34Z

Updated

2019-10-26T18:00:40Z

#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;
}
INFO