Files
ARPZ_s1_pr6/task1.h

136 lines
2.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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;
}
}