Задача на Си помогите

01.01.2001

Задача на Си помогите
Дан массив A(N). Увеличить значения всех минимальных элементов массива на величину среднего арифметического элементов массива.

  • #include
    double average(double *, const size_t);
    double minimum(double *, const size_t);
    void dx_plus(const double, const double, double *, const size_t);
    void show(double *, const size_t);
    int main() {
    double a[] = { 1,2,3,1,4,5,1,6,7,8,1,9,10,1 }, avg, min;
    size_t size = sizeof(a) / sizeof(double);
    show(a, size);
    avg = average(a, size);
    min = minimum(a, size);
    dx_plus(avg, min, a, size);
    show(a, size);
    getchar();
    return 0;
    }
    double minimum(double * _a, const size_t _sz) {
    double min = _a[0];
    unsigned n;
    for (n = 1; n < _sz; n++) if (min > _a[n]) min = _a[n];
    return min;
    }
    double average(double * _a, const size_t _sz) {
    double sum = 0;
    unsigned n;
    for (n = 0; n < _sz; n++) sum += _a[n];
    return sum / _sz;
    }
    void dx_plus(const double _avg, const double _el, double * _a, const size_t _sz) {
    unsigned n;
    for (n = 0; n < _sz; n++) if (_a[n] == _el) _a[n] += _avg;
    }
    void show(double * _a, const size_t _sz) {
    unsigned n;
    for (n = 0; n < _sz; n++) printf("%f\n",_a[n]);
    printf("\n");
    }
  • Цена вопроса?

Вас заинтересует