Вывести минимальные значения каждой диагонали матрицы, параллельной главной - C (СИ)
Формулировка задачи:
Дана квадратная матрица порядка М. Вывести минимальные значения каждой ее диагонали, параллельной главной (начиная с одноэлементной диагонали А[1,M])
Самые самые трудности возникли в определении минимального элемента в диагонале
#include <stdio.h> #include <stdlib.h> #include <time.h> void CreateRandArr (int m,int a[m][m]); void PrintArr (int m, int a[m][m]); void FindMin (int m, int a[m][m]); int main (void) { int m=3; int a[m][m]; CreateRandArr (m,a); PrintArr (m,a); FindMin (m,a); return 0; }
#include <stdio.h> #include <stdlib.h> #include <time.h> void CreateRandArr (int m,int a[m][m]) { int i,j; srand (time (NULL)); for (i=0;i<m;i++) for (j=0;j<m;j++) a[i][j]=rand()%20+1; } void PrintArr (int m, int a[m][m]) { printf ("\n <<<<Array>>>>\n\n"); int i,j; for (i=0;i<m;i++) { for (j=0;j<m;j++) printf ("%5i",a[i][j]); printf ("\n"); } }
#include <stdio.h> #include <stdlib.h> #include <time.h> void FindMin (int m, int a[m][m]) { int l,i,min; for (l=1;l<=2*m-1;l++) { if (l<=m) { min=a[m-l+1][1]; // for (i=m-l+1;i<=m;i++) for (i=1;i<=m-l+1;i++) if (a[i][i-m+l]<min) min=a[i][i-m+l]; printf("\n min element na diagonali %i = %i",l,min); } else if (l>m) { min=a[2*m-l][m]; for(i=1;i<=2*m-l;i++) if(a[i-m+l][i]<min) min=a[i-m+l][i]; printf("\n min element na diagonali %i = %i",l,min); } } }
Решение задачи: «Вывести минимальные значения каждой диагонали матрицы, параллельной главной»
textual
Листинг программы
for (i=1;i<=m-l+1;i++) { if (a[i][i-m+l]<min) min=a[i][i-m+l]; } printf("\n min element na diagonali %i = %i",l,min);
Объяснение кода листинга программы
- Происходит итерация по всем элементам матрицы от первого до последнего элемента главной диагонали.
- Для каждого элемента проверяется его значение, если оно меньше текущего минимального значения, то обновляется значение переменной min.
- После завершения цикла выводится минимальное значение на главной диагонали матрицы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д