#include <locale>
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
// Заполняет матрицу случайными значениями и ваводит на экран
void initializeMatrix(const wchar_t* const msg,double* matrix,unsigned int dim1,unsigned int dim2)
{
wcout<<msg<<endl;
for(unsigned int i=0;i<dim1;i++)
{
for(unsigned int j=0;j<dim2;j++)
{
wcout<<setw(7)<<setprecision(5)<<(*matrix++=(double)rand()/RAND_MAX*50)<<L' ';
}
wcout<<endl;
}
}
// Считает среднее матрицы
double average(double* matrix,unsigned int dim1,unsigned int dim2)
{
double *end=matrix+dim1*dim2;
double sum=0;
while(matrix!=end)
sum+=*matrix++;
return sum/dim1/dim2;
}
int main()
{
// Инициализация генератора случайных чисел
srand((unsigned int)time(0));
locale::global(locale("rus_rus.866"));
// Размерности матриц
const int dimX1=3,
dimX2=4;
const int dimY1=4,
dimY2=2;
// Матрицы
double X[dimX1][dimX2],Y[dimY1][dimY2];
// Заполняем их
initializeMatrix(L"Матрица X:",&X[0][0],dimX1,dimX2);
initializeMatrix(L"Матрица Y:",&Y[0][0],dimY1,dimY2);
// Результат
wcout<<L"Среднее арифметическое элементов матрицы X:"<<average(&X[0][0],dimX1,dimX2)<<endl;
wcout<<L"Среднее арифметическое элементов матрицы Y:"<<average(&Y[0][0],dimY1,dimY2)<<endl;
system("PAUSE");
return 0;
}
Матрица X:
39.18 42.213 0.5829 37.188
24.821 46.806 19.527 30.328
1.0483 34.486 7.5014 13.08
Матрица Y:
13.648 11.47
40.107 0.84841
14.782 1.178
32.373 17.71
Среднее арифметическое элементов матрицы X:24.73
Среднее арифметическое элементов матрицы Y:16.515
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.