Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // zadanie_9.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <ctime>
- using namespace std;
- void fillArr(int* pArr, int sizeOfArr);
- void showArr(int* pArr, int sizeOfArr);
- void mixArrs(int* pArr, int sizeOfArr, int* pYArr);
- int primeNums(int* pArr, int sizeOfArr);
- bool isPrime(int n);
- double avg(int* pArr, int sizeOfArr);
- int main()
- {
- clock_t t;
- t = clock();
- setlocale(0, "rus");
- cout << "Введите кол-во элементов массива: \n";
- int sizeOfArr = 0;
- cin >> sizeOfArr;
- cout << "\tX(N):\n";
- int* pArr = new int[sizeOfArr];
- fillArr(pArr, sizeOfArr);
- showArr(pArr, sizeOfArr);
- cout << "Кол-во простых чисел:\n";
- cout << primeNums(pArr, sizeOfArr) << endl;
- cout << "Среднее арифметическое:\n";
- cout << avg(pArr, sizeOfArr) << endl << endl;
- cout << "\tY(k):\n";
- int sizeOfYArr = sizeOfArr / 2;
- int* pYArr = new int[sizeOfYArr];
- mixArrs(pArr, sizeOfArr, pYArr);
- showArr(pYArr, sizeOfYArr);
- cout << "Кол-во простых чисел:\n";
- cout << primeNums(pYArr, sizeOfYArr) << endl;
- cout << "Среднее арифметическое:\n";
- cout << avg(pYArr, sizeOfYArr) << endl << endl;
- delete[] pArr;
- delete[] pYArr;
- t = clock() - t;
- cout << "--Затрачено " << ((float)t) / CLOCKS_PER_SEC << " секунд--\n";
- return 0;
- }
- void fillArr(int* pArr, int sizeOfArr)
- {
- srand(time(0));
- for (int i(0); i < sizeOfArr; i++)
- {
- pArr[i] = rand() % 30 + 1;
- }
- }
- void showArr(int * pArr, int sizeOfArr)
- {
- for (int i(0); i < sizeOfArr; i++)
- {
- cout << pArr[i] << ' ';
- }
- cout << endl;
- }
- void mixArrs(int * pArr, int sizeOfArr, int * pYArr)
- {
- int j(0);
- for (int i(1); i < sizeOfArr; i += 2)
- {
- pYArr[j] = pArr[i];
- j++;
- }
- }
- int primeNums(int * pArr, int sizeOfArr)
- {
- int count = 0;
- for (int i(0); i < sizeOfArr; i++)
- {
- if (isPrime(pArr[i]))
- count++;
- }
- return count;
- }
- bool isPrime(int n)
- {
- for (int i = 2; i < sqrt(n); i++)
- {
- if (n % i == 0)
- {
- return false; // число делится, сл. непростое
- }
- }
- return n > 1;
- }
- double avg(int * pArr, int sizeOfArr)
- {
- int summ = 0;
- for (int i(0); i < sizeOfArr; i++)
- {
- summ += pArr[i];
- }
- double avgN = double(summ) / double(sizeOfArr);
- return avgN;
- }
Advertisement
Add Comment
Please, Sign In to add comment