Найти среднее арифметическое элементов главной диагонали - C (СИ)
Формулировка задачи:
Дана целочисленная матрица размером . Найти:
а) среднее арифметическое элементов главной диагонали;
б) произведение элементов побочной диагонали;
в) максимальный элемент строки и минимальный элемент столбца, а также разницу между ними
Решение задачи: «Найти среднее арифметическое элементов главной диагонали»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int n;// вводим размер printf("Write n:\n"); scanf("%d", &n); int **a = (int **)calloc(n, sizeof(int *));// создаём матрицу for(int i=0;i<n;i++) a[i] = (int *)calloc(n, sizeof(int)); printf("Write elements of array:\n");// вводим элементы матрицы for(int i=0;i<n;i++) for(int j=0;j<n;j++) scanf("%d", &a[i][j]); double s = 0.0; double p = 1.0; for(int i=0;i<n;i++){ s += (double)a[i][i]; p *= (double)a[i][n-1-i]; } s /= (double) n; printf("a) %lf\nb) %lf\nc)\n", s, p); for(int i=0;i<n;i++){ int min = a[0][i], max = a[i][0]; for(int j=1;j<n;j++){ if(min > a[j][i]) min = a[j][i]; if(max < a[i][j]) max = a[i][j]; } printf(" in %d-th column: min = %d, in %d-th row max = %d, there: (max-min)= %d \n", i+1, min, i+1, max, max-min); } return 0; }
Объяснение кода листинга программы
- Ввод размера матрицы
- Выделение памяти под матрицу
- Ввод элементов матрицы
- Инициализация переменных для хранения суммы и произведения
- Суммирование элементов главной диагонали и произведение элементов побочной диагонали
- Вычисление среднего арифметического элементов главной диагонали
- Вывод среднего арифметического элементов главной диагонали
- Вывод произведения элементов побочной диагонали
- Вывод минимального элемента в i-той колонке
- Вывод максимального элемента в i-й строке
- Вывод разности максимального и минимального элементов в i-й колонке
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д