Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Написать код на языке С для решения задачи используя массивы

Захар Семёнов Ученик (73), закрыт 1 неделю назад
Вычислить среднее арифметическое положительных элементов массива P. Провести вариант расчета для P = (7, 5, 8, 7, 1, 4, -4, 0, 7, -8, 0, -9, 2).
Лучший ответ
Николай Веселуха Высший разум (370535) 1 неделю назад
 #include <stdio.h>

double average_positive(int* v, size_t n) {
double sum = 0.0;
size_t count = 0;
size_t i = 0;
if (v == NULL || n == 0) return 0;
do {
if (0 < v[i]) {
sum += v[i];
++count;
}
} while (++i != n);
return sum / count;
}

int main(void) {
int p[] = { 7, 5, 8, 7, 1, 4, -4, 0, 7, -8, 0, -9, 2 };
size_t n = sizeof(p) / sizeof(p[0]);
double ap = average_positive(p, n);
printf("Average: %.3lf\n", ap);
return 0;
}
ПапаВысший разум (144969) 1 неделю назад
А мне вот так нравится делать:
 bool b = v[i] > 0;
sum += v[i] & -b;
count += b;
По-хорошему, компилятор сам должен такую трансформацию замутить, но он когда делает, когда нет, а вручную надёжнее...
Остальные ответы
Джимми Дональдсон Мастер (2002) 1 неделю назад
Давай на питоне
Каталина коноплецкаяМыслитель (7964) 1 неделю назад
Он для лохов
Джимми Дональдсон Мастер (2002) Каталина коноплецкая, обидно
white black Ученик (42) 1 неделю назад
Шкедов следит за вами
Похожие вопросы