Quick actions

cmd+k|ctrl+k

Navigation

Languages

lab5

Snippet info

Language

Cpp

Visibility

public

Author

skezze

Created

2019-10-27T13:46:35Z

Updated

2019-10-28T21:50:12Z

#include <iostream>
#define _USE_MATH_DEFINES
#include <math.h>
#include <iomanip>
using namespace std;
void task7(int value)
{
	//Напишите программу, которая выводит в столбец произведения чисел а = 143, b = 777 и чисел 1, 2, 3, ... 9.
	int a = 143, b = 777;
	cout << "a * b = " << a * b << endl;
	for (int i = 1; i < 10; i++)
	{
		value = value * i;
	}
	cout << "9! = " << value << endl;
}
void task42(int value)
{
	//42.	Вычислить у = cos x + cos x^2 + cos x^3 + ... + cos x^n
	long double x, n, y = 0, c = 0;
	do
	{
		cout << "Введите x :" << endl;

		if (!(cin >> x))
		{
			cin.clear();
			cin.ignore(65535, '\n');
			cout << "неправильный ввод" << endl;
		}
	} while (x == 0);
	do
	{
		cout << "Введите n :" << endl;

		if (!(cin >> n))
		{
			cin.clear();
			cin.ignore(65535, '\n');
			cout << "неправильный ввод" << endl;
		}
	} while (n == 0);
	for (int i = 1; i <= n; i++)
	{
		c = cos(pow(x, i));
		y += c;
	}
	cout << y << endl;
}
void task77()
//77.	Около стены наклонно стоит палка длиной 4,5 м.
//Нижний конец находится на расстоянии 3 м от стены.
//Он начинает скользить в плоскости, перпендикулярной стене.
//Определить значения угла между палкой и полом(в градусах) через каждые 0, 2 м с момента начала скольжения до падения палки.
{
	double palka = 4.5, nijkonotsteny = 3, verhkonotpola, A, B;

	verhkonotpola = sqrt((palka * palka) - (nijkonotsteny * nijkonotsteny));
	for (nijkonotsteny; verhkonotpola > 0.2; nijkonotsteny += 0.2)
	{

		verhkonotpola -= 0.2;
		A = sin((90 * M_PI)/180);
		B = A * verhkonotpola / palka;
		cout << B * 180/ M_PI << endl;
	}
}
void task112()
//Составить программу - генератор простых чисел, в основу положить формулу   при 0 ≤ х ≤ 36.
{
	string more;
	cout << "rand number : " << 0 + rand() % 36 << endl;
	cout << "please take yes to more random number" << endl;
	cin >> more;
	while (more == "yes")
	{
		cout << "rand number : " << 0 + rand() % 36 << endl;
		more.clear();
		cin.ignore(65535, '\n');
		cout << "please take yes to more random number" << endl;
		cin >> more;
	}
}
void task147()
//147.	Задано уравнение 11х^3 – 13у^3 + 17z^3 – 4503 = 0.
//Определить, имеет ли оно решение в целых числах. Если имеет, то сколько их, и чему они равны.
{
	int x , y , z , h = 4503;
	cout << "11х^3 – 13у^3 + 17z^3 – 4503 = 0"<<endl;
	cout << "введите x,y,z:" << endl;
	do
	{
		if (!(cin >> x))
		{
			cin.clear();
			cin.ignore(65535, '\n');
			cout << "неправильный ввод" << endl;
		}
	} while (x == 0);
	do
	{
		if (!(cin >> y))
		{
			cin.clear();
			cin.ignore(65535, '\n');
			cout << "неправильный ввод" << endl;
		}
	} while (y == 0);
	do
	{
		if (!(cin >> z))
		{
		cin.clear();
		cin.ignore(65535, '\n');
		cout << "неправильный ввод" << endl;
	}
	}while (z == 0);
	if (h == (11 * x * x * x) - (13 * y * y * y) + (17 * z * z * z)) // решения либо нету , либо оно одно 
		cout << "есть решение" << endl;
	else cout << "нет решения" << endl;
}
void task182()
{
	//182.	Дано число n. Из чисел 1, 4, 9, 16, 25, ... напечатать те, которые не превышают n.
	cout << "input n" << endl;
	int i, n = 0;
	while (n == 0)
	{
		if (!(cin >> n))
		{
			cin.clear();
			cin.ignore(65535, '\n');
		}
	}
	for (i = 1; i * i < n; i++)
		cout << i << "\t" << i * i << endl;
}

void task217()
{
	//Найти наименьший номер члена последовательности, для которого выполняется условие |An - An-1|<E
	//Вывести на экран этот номер и все элементы Ai где i = 1, 2, 3...,n.
	cout << "|An - An-1|<eps"<<endl;
	double n = 0, eps = 0, an = 0;
	while (n == 0)
	{
		cout <<"введите n:"<< endl;
		if (!(cin >> n))
		{
			cin.clear();
			cin.ignore(65535, '\n');
		}
	}

	while (eps == 0)
	{
		cout << "введите eps:" << endl;
		if (!(cin >> eps))
		{
			cin.clear();
			cin.ignore(65535, '\n');
		}
	}
	an = pow(n, log(n)) / pow(log(n),n);
	double an_1 = pow(n-1, log(n-1)) / pow(log(n-1), n-1);
	double k = abs(an - an_1);
	k < eps ? cout << "верно"<<endl : cout << "неверно"<<endl;
}
void task252()
{
	//252.	Написать программу вычисления функции y = 2ax - 3b*sqrt(2c + 3ax) a = 2;b = 0.5;c = -4 . Аргумент   принимает значения от 1 до 10 с шагом 1.
	float x, a = 2, b = 0.5, c = -4, y;
	for (x = 1; x <= 10; x++)
	{
		if (x == 1)
			cout << "y = решения нет" << endl;
		else {
			y = 2 * a * x - 3 * b * sqrt(2 * c + 3 * a * x);
			cout << "y = " << y << endl;
		}
	}
}
int main()
{
	int value = 1;
	setlocale(LC_ALL, "Russian");
	cout << "Задание № 7 : " << endl;
	task7(value);
	cout << "Задание № 42 :" << endl;
	task42(value);
	cout << "Задание № 77 : " << endl;
	task77();
	cout << "Задание № 112 : " << endl;
	task112();
	cout << "Задание № 147 : " << endl;
	task147();
	cout << "Задание № 182 : " << endl;
	task182();
	cout << "Задание № 217 : " << endl;
	task217();
	cout << "Задание № 252 : " << endl;
	task252();
	return 0;
}
INFO