В заданном массиве вычислите среднее геометрическое и арифметическое значения для положительных элементов - C (СИ)
Формулировка задачи:
В заданном массиве A[1:N] вычислите среднее геометрическое и среднее арифметическое значения для положительных элементов.
Решение задачи: «В заданном массиве вычислите среднее геометрическое и арифметическое значения для положительных элементов»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
unsigned func(int array[], unsigned i,
float* arithmetic, float* geometric) {
unsigned cnt = 0;
float sum = 0.0;
while (i--) {
if (array[i] > 0) {
cnt++;
sum += array[i];
}
}
if (cnt) {
*arithmetic = sum / cnt;
*geometric = pow(sum, 1.0 / cnt);
}
return cnt;
}
int main() {
int array[] = {2, -2, 3, -3, 4, -4};
float arithmetic, geometric;
if (func(array, 6, &arithmetic, &geometric)) {
printf("arithmetic = %f\n"
"geometric = %f\n",
arithmetic, geometric);
}
return 0;
}