Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- double TakeNum(const int MIN, const int MAX) {
- const string ERROR_CHOISE = "Проверьте корректность введнных данных!\n";
- bool isIncorrect;
- double num;
- do {
- isIncorrect = false;
- cin >> num;
- if (cin.fail()) {
- isIncorrect = true;
- cout << ERROR_CHOISE;
- cin.clear();
- while (cin.get() != '\n');
- }
- if (!isIncorrect && cin.get() != '\n') {
- cin.clear();
- while (cin.get() != '\n');
- cout << ERROR_CHOISE;
- isIncorrect = true;
- }
- if (!isIncorrect && (num < MIN || num > MAX)) {
- isIncorrect = true;
- cout << ERROR_CHOISE;
- }
- } while (isIncorrect);
- return num;
- }
- int main() {
- setlocale(LC_ALL, "Russian");
- int columns, l, n, A, B, sum, k, count, dx, x1, x2, fac, num = 0, R2 = 2, R1 = 1;
- double x, y, eps, temp, s;
- bool isIncorrect;
- cout << "Вариант 6\n";
- // Первое задание
- cout << "Задание 1.6\n";
- num = 1;
- cout << "Введите n\n";
- n = TakeNum(1, 1000);
- for (int i = 1; i < n + 1; i++) {
- num *= i;
- }
- cout << "Факториал числа равен: " << num << '\n';
- // Второе задание
- cout << "Задание 2.6\n";
- for (int i = 1; i < 4; i++) {
- cout << "Выстрел номер " << i << '\n';
- cout << "Введите x и y\n";
- x = TakeNum(-1000, 1000);
- y = TakeNum(-1000, 1000);
- if ((x >= 0) && ((x * x + y * y) <= 1)) {
- cout << "Попадание!\n";
- }
- else {
- cout << "Промах\n";
- }
- }
- // Третье задание
- cout << "Задание 3.6\n";
- cout << "Введите X1\n";
- x1 = TakeNum(-7, 3);
- cout << "Введите X2\n";
- x2 = TakeNum(-7, 3);
- cout << "Введите dx\n";
- dx = TakeNum(1, 10);
- cout << (" x | f(x)\n");
- for (double i = x1; i <= x2; i += dx) {
- if (i <= -6 && i >= -7)
- y = 1;
- else if (i > -6 && i <= -4)
- y = -0.5 * i - 2;
- else if (i > -4 && i <= 0)
- y = sqrt(R2 * R2 - pow((-2 - i), 2));
- else if (i > 0 && i < 2)
- y = -sqrt(R1 * R1 - pow((1 - i), 2));
- else if (i >= 2 && i <= 3)
- y = -i + 2;
- else
- cout << "Нет значений";
- cout << fixed << setprecision(3) << i << " | " << y << endl;
- }
- // Четвертое задание
- cout << "Задание 4.6\n";
- eps = 0.1;
- s = 0;
- n = 0;
- cout << "Введите X1\n";
- x1 = TakeNum(-10, 10);
- cout << "Введите X2\n";
- x2 = TakeNum(-10, 10);
- cout << "Введите dx\n";
- dx = TakeNum(1, 10);
- cout << (" x | f(x) | count\n");
- for (double i = x1; i <= x2; i += dx) {
- count = 0;
- temp = i;
- fac = 1;
- n = 0;
- s = 0;
- while (fabs(temp) > eps) {
- for (int j = 1; j < 2 * n; j++)
- fac *= j;
- temp = (pow((-1), n) * (pow(i, 2 * n))) / fac;
- s += temp;
- n++;
- count++;
- }
- cout << fixed << setprecision(3) << i << " | " << fixed << setprecision(3) << s << " | " << count << endl;
- }
- cout << "\n";
- // Пятое задание
- cout << "Задание 5.6\n";
- num = 0;
- n = 7;
- columns = 1;
- l = 1;
- for (int i = 0; i < 3; i++) {
- int rows = l;
- for (int j = 0; j < columns; j++) {
- while (rows > 0) {
- cout << num << " ";
- rows--;
- }
- rows = l;
- cout << "\n";
- while (rows > 0) {
- cout << n << " ";
- rows--;
- }
- }
- cout << "\n";
- num++;
- n--;
- l++;
- }
- // Шестое задание
- cout << "Задание 6.6\n";
- k = 0;
- sum = 0;
- do {
- isIncorrect = false;
- cout << "Введите начальную координату отрезка\n";
- A = TakeNum(1, 10000);
- cout << "Введите конечную координату отрезка\n";
- B = TakeNum(1, 10000);
- if (A < 1 || B > 10000 || A > B) {
- isIncorrect = true;
- cout << "Пожалуйста, введите отрезок заново\n";
- }
- } while (isIncorrect);
- count = B - A + 1;
- for (int i = A; i <= B; i++) {
- k = 0;
- for (int j = 2; j <= ((int)sqrt(i) + 1); j++) {
- if (i % j == 0) {
- k++;
- }
- }
- if (k > 0) {
- count--;
- }
- }
- cout << "Количество простых чисел: " << count;
- }
Advertisement
Add Comment
Please, Sign In to add comment