#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; }