136 lines
2.1 KiB
C++
136 lines
2.1 KiB
C++
#include <iostream>
|
||
#include <cmath>
|
||
using namespace std;
|
||
#pragma once
|
||
|
||
namespace task1 {
|
||
|
||
int F(int num); // num table
|
||
int a(int* m, int size);
|
||
int b(int* m, int size);
|
||
int v(int* m, int size);
|
||
int g(int* m, int size);
|
||
int d(int* m, int size);
|
||
int e(int* m, int size);
|
||
|
||
int init()
|
||
{
|
||
cout << "TASK #1" << endl;
|
||
setlocale(LC_ALL, "Russian");
|
||
int n;
|
||
cout << "Введите длину: "; cin >> n;
|
||
|
||
int* m = new int[n];
|
||
cout << "Введите элементы: " << endl;
|
||
for (int i = 0; i < n; i++) { cin >> m[i]; }
|
||
|
||
cout << "а) " << a(m, n) << endl;
|
||
cout << "б) " << b(m, n) << endl;
|
||
cout << "в) " << v(m, n) << endl;
|
||
cout << "г) " << g(m, n) << endl;
|
||
cout << "д) " << d(m, n) << endl;
|
||
cout << "е) " << e(m, n) << endl;
|
||
|
||
delete[] m;
|
||
return 0;
|
||
}
|
||
|
||
int F(int num)
|
||
{
|
||
int n = 1;
|
||
for (int i = 1; i <= num; i++)
|
||
{
|
||
n *= i;
|
||
}
|
||
return n;
|
||
}
|
||
|
||
int a(int* m, int size)
|
||
{
|
||
int n = 0;
|
||
for (int i = 0; i < size; i++)
|
||
{
|
||
int num = m[i];
|
||
if (num % 2 != 0)
|
||
{
|
||
n++;
|
||
}
|
||
}
|
||
return n;
|
||
}
|
||
|
||
int b(int* m, int size)
|
||
{
|
||
int n = 0;
|
||
for (int i = 0; i < size; i++)
|
||
{
|
||
int num = m[i];
|
||
int sqrt_num = sqrt(num);
|
||
|
||
if ((sqrt_num * sqrt_num) == num && (num % 2 == 0))
|
||
{
|
||
n++;
|
||
}
|
||
}
|
||
return n;
|
||
}
|
||
|
||
int v(int* m, int size)
|
||
{
|
||
int n = 0;
|
||
for (int i = 0; i < size; i++)
|
||
{
|
||
int num = m[i];
|
||
if (num % 3 == 0 && num % 5 != 0)
|
||
{
|
||
n++;
|
||
}
|
||
}
|
||
return n;
|
||
}
|
||
|
||
int g(int* m, int size)
|
||
{
|
||
int n = 0;
|
||
for (int i = 0; i < size; i++)
|
||
{
|
||
int k = i + 1;
|
||
int num = m[i];
|
||
if ((pow(2, k) < num) && (num < F(k)))
|
||
{
|
||
n++;
|
||
}
|
||
}
|
||
return n;
|
||
}
|
||
|
||
int d(int* m, int size)
|
||
{
|
||
int n = 0;
|
||
for (int i = 0; i < size; i++)
|
||
{
|
||
int k = i + 1;
|
||
int num = m[i];
|
||
if (i - 1 >= 0 && i + 1 < size && num < ((m[i - 1] + m[i + 1]) / 2))
|
||
{
|
||
n++;
|
||
}
|
||
}
|
||
return n;
|
||
}
|
||
|
||
int e(int* m, int size)
|
||
{
|
||
int n = 0;
|
||
for (int i = 0; i < size; i++)
|
||
{
|
||
int num = m[i];
|
||
if (i % 2 == 0 && num % 2 != 0)
|
||
{
|
||
n++;
|
||
}
|
||
}
|
||
return n;
|
||
}
|
||
}
|