【发布时间】:2022-01-24 13:49:14
【问题描述】:
我需要编写一个程序来加载一个 3x3 维度的整数矩阵并找到第一个对角线上的最小元素。 我编写了这段代码,但它只给了我整个矩阵中最小的整数:
#include <stdio.h>
int main() {
int mat[10][10];
int i,j,smallest;
printf(" ");
for(i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
scanf("%d", &mat[i][j]);
smallest = mat[0][0];
for ( i = 0; i < 10; i++){
for(j = 0; j < 10; j++){
if(mat[i][j] < smallest)
smallest = mat[i][j];
}
}
printf("%d",smallest);
return 0;
}
你能给我解决这个问题的方法吗?
【问题讨论】:
-
是的,不要遍历整个矩阵,只遍历对角线。
-
如果一个值在主对角线上是什么意思,你如何访问这样的值?
-
@dbush 我想说的是矩阵的第一个对角线。谷歌一下,看看我的意思。
-
@Azra 我知道这意味着什么。我在问你是否你理解它的含义,以及你认为你会如何访问那个对角线上的值。
-
我知道这意味着什么,但我不知道如何访问该对角线上的值。