有一个m×n的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。​​​​​​​

【问题描述】
有一个m×n的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

【算法代码】

#include <stdio.h>

#define row 100
#define col 100

int a[row][col];

int main() {
    int m,n;
    scanf("%d %d",&m,&n);
    int i,j;
    for(i=0; i<m; i++) {
        for(j=0; j<n; j++) {
            scanf("%d",&a[i][j]);
        }
    }
    
    int hang,lie;
    int inf=-0x3f3f3f3f;
    for(i=0; i<m; i++) {
        for(j=0; j<n; j++) {
            if(a[i][j]>inf) {
                inf=a[i][j];
                hang=i;
                lie=j;
            }
        }
    }

    printf("%d %d %d",inf,hang,lie);
    return 0;
}

/*
in:
3 4
12 6 8 6
11 78 5 36
66 71 2 9

out:
8
32.5
37
*/


 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 最大为x,行号为i,为j。可以用一个for循环来遍历矩阵中的每一个元素,使用if语句来判断当前元素是否比保存的最大x大,如果是,更新x、i和j的。以下是示例代码: int matrix[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; int x = matrix[0][0], i = 0, j = 0; for (int row = 0; row < 3; ++row) { for (int col = 0; col < 4; ++col) { if (matrix[row][col] > x) { x = matrix[row][col]; i = row; j = col; } } } cout << "最大为" << x << ",行号为" << i << ",为" << j << endl; ### 回答2: 首先,我们需要定义一个3×4的矩阵,并初始化它的元素。然后,我们可以通过遍历矩阵的每个元素,找到其中的最大。在遍历的过程中,我们需要记录下最大所在的行号。最后,我们输出最大以及它所在的行号。下面是一个用 Python 编写的程序示例: ```python # 定义矩阵并初始化 matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] # 初始化最大和其所在的行号 max_value = matrix[0][0] max_row = 0 max_col = 0 # 遍历矩阵 for i in range(3): for j in range(4): # 如果当前元素大于最大,则更新最大和其所在行 if matrix[i][j] > max_value: max_value = matrix[i][j] max_row = i max_col = j # 输出最大及其所在的行号 print("最大:", max_value) print("所在行号:", max_row) print("所在:", max_col) ``` 执行以上代码,将会输出结果: 最大:12 所在行号:2 所在:3 说明在给定的3×4矩阵中,元素12是最大,它位于第3行第4。 ### 回答3: 这道题要求编写一个程序,来求出一个3x4的矩阵最大的元素的,以及其所在的行号。 首先,我们可以创建一个3x4的二维数组来表示这个矩阵,并初始化它的元素。 接下来,我们定义三个变量,分别用来记录最大最大所在的行号最大所在的。初始时,最大变量的矩阵的第一个元素,行号变量的分别为0和0。 然后,我们使用两重循环遍历整个矩阵。外层循环控制行号,内层循环控制。在遍历的过程中,通过比较当前元素与最大变量的的大小来更新最大,如果当前元素更大,则更新最大变量的,并将行号变量的更新为当前元素所在的行号。 最后,循环结束后,我们就可以得到最大最大所在的行号最大所在的。 将这三个结果输出即可。 这个程序的时间复杂度为O(3×4)=O(12),即O(1)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值