Помогите пожалуйста вот задачка: Элементы каждой строки матрицы, которые больше среднеарифмитического значения данной строки, заменить этим значением. Напишите код в с++ двумерный массив
Помогите пожалуйста вот задачка: Элементы каждой строки матрицы, которые больше среднеарифмитического значения данной строки, заменить этим значением. Напишите код в с++ двумерный массив
В чем наша помощь должна заключаться?
Код:
//Компилировать с поддержкой C++11
#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
vector<vector<double>> matrix{
{1.0, 2.0, 3.0},
{4.0, 5.0, 6.0}
};
for (auto &line : matrix){
auto sum = accumulate(line.begin(), line.end(), 0.0);
auto avrg = sum / line.size();
replace_copy_if(line.begin(), line.end(), ostream_iterator<double>(cout, "; "), [avrg](double d){return d > avrg;}, avrg);
cout << endl;
}
return 0;
}
#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
vector<vector<double>> matrix{
{1.0, 2.0, 3.0},
{4.0, 5.0, 6.0}
};
for (auto &line : matrix){
auto sum = accumulate(line.begin(), line.end(), 0.0);
auto avrg = sum / line.size();
replace_copy_if(line.begin(), line.end(), ostream_iterator<double>(cout, "; "), [avrg](double d){return d > avrg;}, avrg);
cout << endl;
}
return 0;
}