• Решить на языке с++, каждую строку кода желательно закомментировать, чтобы я понял и смог объяснить как я решил преподу). Дана последовательность из n элементов, заменить каждый элемент массива средним арифметическим всех предшествующих ему элементов

Ответы 1

  • Пример работы во вложениях.

    #include <iostream>

    #include <ctime>

    #include <cstdlib>

    #include <algorithm>

    #include <iterator>

    #include <numeric>

    #include <clocale>

    #define UINT unsigned int

    using namespace std;

    int main() {

    setlocale(LC_ALL, "Russian");

    const int N = 5;

    double Arr[N];

    /*ГЕНЕРАЦИЯ ДАННОЙ ПОСЛЕДОВАТЕЛЬНОСТИ*/

    srand((UINT)time(NULL));

    generate(Arr, Arr + N, []() { return rand() % 91 + 10; });

    /*ВЫВОД НА ЭКРАН ИЗНАЧАЛЬНОГО МАССИВА*/

    cout << "Исходный массив:" << endl;

    copy(Arr, Arr + N, ostream_iterator<int>(cout, " "));

    cout << endl;

    /*РАСЧЕТ СРЕДНЕГО АРИФМЕТИЧЕСКОГО ДЛЯ КАЖДОГО ЭЛЕМЕНТА*/

    for(int i = N-1; i >= 0; --i)

     Arr[i] = accumulate(Arr, Arr + i, 0.0) / i;

    Arr[0] = 0; // Перед первым элементом нечего складывать :D

     

    /*ВЫВОД НА ЭКРАН КОНЕЧНОГО МАССИВА*/

    cout << "Результирующий массив массив:" << endl;

    copy(Arr, Arr + N, ostream_iterator<int>(cout, " "));

    cout << endl;

    system("pause");

    return 0;

    }

    answer img
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years