易游港

 找回密码
 注册
搜索
热搜: 城市天际线
查看: 2631|回复: 0

获取矩阵的最大值及其下标

[复制链接]

64

主题

3

回帖

387

积分

管理员

积分
387
发表于 2021-12-16 17:20:49 | 显示全部楼层 |阅读模式
本实例要求使用二维数组将一个 3×4 的矩阵中所有元素的最大值及其下标获取,通过该程序,掌握二维数组的引用知识。


算法思想


针对本实例,有两个步骤需要编写程序完成:第一个步骤是求矩阵元素的最大值,可以通过相邻的元素大小比较,最终获取最大值;第二个步骤是针对获取到的元素最大值,求该元素的下标。


二维数组元素的一般表示方法为:“数组名[下标][下标]”。对于二维数组,下标变量和数组说明在表示形式上是一样的,比如在本例中,有语句:int a[3][4]; a[3][4]=2/3;


上述语句中“a[3][4]”是完全不同的两个概念,第一个语句中的“a[3][4]”用来定义一个数组,而第二个语句中的“a[3][4]”是一个双下标变量。


源代码:
[C] 纯文本查看 复制代码
#include <stdio.h>
int main()
{
    int a[3][4],i,j,max,max_i=0,max_j=0;
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
    max=a[0][0];
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            if(a[i][j]>max)
            {
                max=a[i][j];
                max_i=i;
                max_j=j;
            }
            printf("max=a[%d][%d]=%d\n",max_i,max_j,max);
            return 0;
}

运行结果本实训的程序主要完成了两个功能:一是通过一个二次循环输入该二维数组的所有元素;二是将输入元素按照相邻关系进行比较,最终得到最大值和这个最大值的下标。如果输入数组是:1 2 3 4 5 6 7 99 9 10 11 12。则最终输出结果如下所示:
1 2 3 4 5 6 7 99 9 10 11 12
max=a[1][3]=99

回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|易游港

GMT+8, 2025-3-13 05:22 , Processed in 0.098816 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2025 Tencent Cloud.

快速回复 返回顶部 返回列表