【时时三省】(C语言根本)二维数组举例

[复制链接]
发表于 2025-9-16 15:25:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省
例题1

将一个二维数组行和列的元素互换,存到另一个二维数组中。比方:

解题思路: 

可以界说两个数组:数组a为2行3列,存放指定的6个数。数组b为3行2列,开始时未赋值。只要将a数组中的元素a [ i ] [ i ]存放到b数组中的b [ j ] [ i ]元素中即可。用嵌套的for循环即可完成此任务。
编写步调:


 运行效果:


例题2:

有一个3×4的矩阵,要求编步调求出此中值最大的谁人元素的值,以及其地点的行号和列号。
解题思路:

先思考一下在打擂台时怎样确定末了的优胜者。先找出任一人站在台上第2人上去与之交锋,胜者留在台上。再上去第3人,与台上的人(即刚才的得胜者)交锋胜者留台上,败者下台。以后每一个人都是与其时留在台上的人交锋。直到全部人都上台比过为止,末了留在台上的就是冠军。这就是“打擂台算法”。解本题也是用“打擂台算法”。先让a [ 0 ] [ 0 ]作“擂主”,把它的值赋给变量max , max用来存放当前已知的最大值,在开始时还未进行比力,把max = a [ 0 ] [ 0 ]最前面的元素临时以为是当前值最大的。然后让下for i = 0 to 2for j = 0 to 3一个元素a [ 0 ] [ 1 ]与max比力,假如a [ 0 ] [ 1 ] > max .真a [ i ] i ] > max则表现a [ 0 ] [ 1 ]是已经比过的数据中值最大的,把它假max = a [ i ] [ i ]的值赋给max,代替了max的原值。以后依此处置惩罚。row = i值大的赋给max。直到全部比完后,max就是最大colum = j的值。输出:max和row、colum。
编写步调:


运行效果:


 
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表