Решить ** языке с++, каждую строку кода желательно закомментировать, чтобы я понял и смог...

0 голосов
28 просмотров

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


Информатика (24 баллов) | 28 просмотров
0

"..как я решал.." Охохо :D

Дан 1 ответ
0 голосов

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

#include

#include

#include

#include

#include

#include

#include


#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;</p>

copy(Arr, Arr + N, ostream_iterator(cout, " "));

cout << endl;</p>

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

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

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

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

 


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

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

copy(Arr, Arr + N, ostream_iterator(cout, " "));

cout << endl;</p>

system("pause");

return 0;

}


image
(6.8k баллов)