#include
using namespace std;
void processMatrix(double matrix[][100], int N) {
double totalPositiveSum = 0;
int positiveCount = 0;
// Найти среднее арифметическое положительных элементов
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (matrix[i][j] > 0) {
totalPositiveSum += matrix[i][j];
positiveCount++;
}
}
}
double averagePositive = (positiveCount > 0) ? totalPositiveSum / positiveCount : 0;
cout << "Среднее арифметическое положительных элементов: " << averagePositive << endl;
// Преобразовать массив
for (int j = 0; j < N; j++) {
double rowPositiveSum = 0;
for (int i = 0; i < N; i++) {
if (matrix[i][j] > 0) {
rowPositiveSum += matrix[i][j];
}
}
if (rowPositiveSum > 0) {
for (int i = 0; i < N; i++) {
matrix[i][j] /= rowPositiveSum;
}
}
}
}
int main() {
int N;
cout << "Введите размер матриц (N): ";
cin >> N;
if (N > 100) {
cout << "Размер матрицы превышает допустимое значение (100)." << endl;
return 1;
}
double matrix1[100][100] = {0};
double matrix2[100][100] = {0};
double matrix3[100][100] = {0};
double* matrices[3] = {(double*)matrix1, (double*)matrix2, (double*)matrix3};
for (int k = 0; k < 3; k++) {
cout << "Введите элементы матрицы " << k + 1 << " (" << N << "x" << N << "):" << endl;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cin >> matrices[k][i * N + j];
}
}
processMatrix((double(*)[100])matrices[k], N);
cout << "Преобразованная матрица " << k + 1 << ":" << endl;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << matrices[k][i * N + j] << " ";
}
cout << endl;
}
}
return 0;
}