Skip to content

Instantly share code, notes, and snippets.

@EugenyB
Last active August 29, 2015 14:09
Show Gist options
  • Save EugenyB/1de40e12456c5b950290 to your computer and use it in GitHub Desktop.
Save EugenyB/1de40e12456c5b950290 to your computer and use it in GitHub Desktop.
#include <iostream>
const int size = 10;
int SummArr(int arr[], int size);
double Average(int arr[], int size);
int NumOfNegative(int arr[], int size);
int NumMax(int arr[], int const size);
void ReplaceMaxtoAvg(int arr[], int const size);
using namespace std;
int main() {
int arr[] = {4, -5, 7, 15, -10, 8, 2, -3, 0, 11};
// Находим сумму эл-тов массива
int sum = SummArr(arr, size);
cout << sum << endl;
// Находим среднее арифметическое
double avg = Average(arr, size);
cout << avg << endl;
// Посчитать кол-во отрицательных элементов
int numNeg = NumOfNegative(arr, size);
cout << numNeg << endl;
// Найти номер максимального элемента
int nMax = NumMax(arr, size);
cout << nMax << endl;
cout << "max=" << arr[nMax] << endl;
// Заменить наибольший элемент средним арифметическим
ReplaceMaxtoAvg(arr, size);
for (int i = 0; i < size; ++i) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
void ReplaceMaxtoAvg(int arr[], int size) {
int nMax = NumMax(arr, size);
double avg = Average(arr, size);
arr[nMax] = avg;
}
int NumMax(int arr[], int size) {
int res = 0;
for (int i = 1; i < size; ++i) {
if (arr[i] > arr[res]) res = i;
}
return res;
}
int NumOfNegative(int arr[], int size) {
int count = 0;
for (int i = 0; i < size; ++i) {
if (arr[i] < 0) count++;
}
return count;
}
double Average(int arr[], int size) {
return 1.0*SummArr(arr, size) / size;
}
int SummArr(int arr[], int size) {
int s = 0;
for (int i = 0; i < size; ++i) {
s += arr[i];
}
return s;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment