Krab Bark
Искусственный Интеллект
(294721)
3 месяца назад
#include <iostream>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <numeric>
using namespace std;
void output(int *a,int n){for_each(a,a+n,[](const int& i){cout<<i<<" ";});cout<<endl;}
int nummax(int *a,int n){return distance(a,max_element(a,a+n))+1;}
float aver(int *a,int n){return accumulate(a,a+n,0.)/n;}
bool isprime(int k){k=abs(k); for(int i=2;i*i<=k;i++)if(k%i==0)return false; return true;}
void del(int* a,int& n,int j){while(isprime(a[j])){if(n<=j)return; for(int i=j;i<n-1;++i)a[i]=a[i+1]; --n;}}
int main(){
int n; cout<<"n: "; cin>>n; ; int *x=new int[n]; srand(time(NULL));
for_each(x,x+n,[&x](int& i){i=rand()%199-99;});
cout<<"array: "; output(x,n); cout<<"average="<<aver(x,n)<<endl;
for(int i=nummax(x,n);i<n;i++)del(x,n,i);
cout<<"array: "; output(x,n); cout<<"average="<<aver(x,n)<<endl;}
написать программу на языке С++. В отчете предоставить блок-схемы всех
функций, текст программы.
В массиве целых чисел Х(k) удалить все простые элементы, стоящие
после максимального элемента. Найти среднее арифметическое элементов
массива до и после удаления. В программе написать функции: удаления
элемента, определения номера максимального элемента, вычисления среднего арифметического элементов массива.