Files
ARPZ_s1_pr6/task1.h

135 lines
2.1 KiB
C++

#include <iostream>
#include <cmath>
using namespace std;
#pragma once
namespace task1 {
int F(int num); //ñ÷èòàåò ôàêòîðèàë ÷èñëà
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;
}
}