Регистрация
Войти
Стать экспертом Правила
Информатика

Решить в с++
задан массив Z(n) целых чисел. найти максимальный элемент массива и если это простое число - удалить все элементы равные максимальному значению. Определить среднее арифметическое положительных элементов массива после удаления. Упорядочить массив по убыванию модулей.

ОТВЕТЫ
#include lt;iostreamgt;
#include lt;stringgt;
#include lt;cstdlibgt;
#include lt;algorithmgt;
using namespace std;
typedef unsigned short int USI;

int* fillArray(string name, int s);
int maxArray(int[], int s);
bool isPrime(int);
void deleteAllEqualTo(int[], int s, int value);
float averageOfPositive(int[], int s);
void printArray(int[], int s);

bool sortByDescAbs(int i, int j) {
return abs(i) gt; abs(j);
}

int main() {
setlocale(LC_ALL, "Russian");
USI n;
cout lt;lt; "n = ";
cin gt;gt; n;
int* z = fillArray("z", n);
int max = maxArray(z, n);
if ( isPrime(max) ) {
deleteAllEqualTo(z, n, max);
}
float avg = averageOfPositive(z, n);
cout lt;lt; "среднее: " lt;lt; avg lt;lt; \n;
sort(z, z + n, sortByDescAbs);
cout lt;lt; "z[" lt;lt; n lt;lt; "]: ";
printArray(z, n);
return 0;
}

int* fillArray(string name, int s) {
int array[s];
for (int i = 0; i lt; s; i++) {
cout lt;lt; name lt;lt; "[" lt;lt; i lt;lt; "] = ";
cin gt;gt; array[i];
}
return array;
}

int maxArray(int a[], int s) {
int max = a[0];
for (int i = 1; i lt; s; i++) {
if (a[i] gt; max) max = a[i];
}
return max;
}

bool isPrime(int n) {
if (n lt; 2) return false;
if (n == 2) return true;
if (n 2 == 0) return false;
for (int i = 3; (i*i) lt;= n; i += 2) {
if (n i == 0 ) return false;
}
return true;
}

void deleteAllEqualTo(int a[], int s, int value) {
for (int i = 0; i lt; s; i++) {
if (a[i] == value) a[i] = 0;
}
}

float averageOfPositive(int a[], int s) {
unsigned int sum = 0,
count = 0;
for (int i = 0; i lt; s; i++) {
if (a[i] gt; 0) {
sum += a[i];
count++;
}
}
return (sum / count);
}

void printArray(int a[], int s) {
for (int i = 0; i lt; s; i++) {
cout lt;lt; a[i] lt;lt; ;
}
}
197
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам