定义一个5*5的矩阵(二维数组),赋上初值,通过调用函数实现:将数组中的最大值放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),在主函数中输出变换后的数组。

这篇具有很好参考价值的文章主要介绍了定义一个5*5的矩阵(二维数组),赋上初值,通过调用函数实现:将数组中的最大值放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),在主函数中输出变换后的数组。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

程序代码:

#include<stdio.h>

int min(int (*a)[5])

{

   int i,j,*min,t;

   min=a;

   for(i=0;i<5;i++)

   for(j=0;j<5;j++)

   {

   if(*(a[i]+j)<*min)

    min=(a[i]+j);        //交换地址

    }

    t=*min;

    *min=*(a[0]+0);

    *(a[0]+0)=t;

   

    for(i=0;i<5;i++)

   for(j=0;j<5;j++)

   {

   if(i==0&&j==0) continue;  //跳过左上角最小值

   if(*(a[i]+j)<*min)

    min=(a[i]+j);

    }

    t=*min;

    *min=*(a[0]+4);

    *(a[0]+4)=t;

   

    for(i=0;i<5;i++)

   for(j=0;j<5;j++)

   {

   if(i==0&&j==0||i==0&&j==4) continue;     //跳过左上 右上

   if(*(a[i]+j)<*min)

    min=(a[i]+j);

    }

    t=*min;

    *min=*(a[4]+0);

    *(a[4]+0)=t;

   

    for(i=0;i<5;i++)

   for(j=0;j<5;j++)

   {

   if(i==0&&j==0||i==0&&j==4||i==4&&j==0) continue;    //跳过左上 右上 左下

   if(*(a[i]+j)<*min)

    min=(a[i]+j);

    }

    t=*min;

    *min=*(a[4]+4);

    *(a[4]+4)=t;

}

int max(int (*a)[5])

{

   int i,j,*max,t;

   max=a;

   for(i=0;i<5;i++)

   for(j=0;j<5;j++)

   {

   if(*(a[i]+j)>*max)

    max=(a[i]+j);

    }

    t=*max;

    *max=*(a[2]+2);

    *(a[2]+2)=t;

}

int main()

{

 int a[5][5]={{16,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};

 int i,j;

 printf("原先矩阵:\n");

 for(i=0;i<5;i++)

 {

 for(j=0;j<4;j++)

 printf("%4d ",a[i][j]);

 printf("%4d",a[i][j]);

 printf("\n");

 }文章来源地址https://www.toymoban.com/news/detail-821124.html

 min(a);  //找出最小的一一赋给左上 右上 左下 右下

 max(a); //找出最大赋给中间

 printf("新矩阵:\n");

 for(i=0;i<5;i++)

 {

 for(j=0;j<4;j++)

 printf("%4d ",a[i][j]);

 printf("%4d",a[i][j]);

 printf("\n");

 }

 }

到了这里,关于定义一个5*5的矩阵(二维数组),赋上初值,通过调用函数实现:将数组中的最大值放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),在主函数中输出变换后的数组。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【算法训练-数组 三】【数组矩阵】螺旋矩阵、旋转图像、搜索二维矩阵

    废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是螺旋矩阵,使用【二维数组】这个基本的数据结构来实现 二维数组的结构特性入手 根据题目示例 matrix = [[1,2,3],[4,5,6],[7,8,9]] 的对应输出 [1,2,3,6,9,8,7,4,5] 可以发现,顺时针打印矩阵的顺序

    2024年02月06日
    浏览(52)
  • C语言例题(二维数组)【转置矩阵】【成绩登记】【斐波那契】【简单矩阵查找】【螺旋数阵】【一维数组转二维数组】

    例一:转置矩阵 程序: 输出:通过b[j][i] = a[i][j];这一步实现了转置 进阶:用6个1~20内的随机数按行的顺序生成一个a[2][3]的矩阵,并输出它的转置矩阵 输出: 例2.登记某班三人的数学、英语两门课程的成绩。 分析:此类问题可以通过使用3个一维数组来解决,也可以通过使用

    2024年02月03日
    浏览(44)
  • LeetCode-74. 搜索二维矩阵【数组 二分查找 矩阵】

    给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 示例 1: 输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]],

    2024年04月14日
    浏览(46)
  • 使用二维数组表示N阶矩阵

    矩阵为N阶,使用二维数组a[N-1][N-1]表示。 矩阵元素使用二维数组元素a[i][j]表示。 访问矩阵元素时,遍历下标表示为 a[i][j] , i为行下标,j为列下标 ,它们的取值范围均为 [0,N-1] 。 矩阵的术语与二维数组下标的对应关系如下表: 矩阵术语与二维数组下标对应关系 术语

    2023年04月24日
    浏览(41)
  • C语言 : 矩阵转置 (二维数组)

    输入N*N的矩阵,输出它的转置矩阵。矩阵的转置操作,即把矩阵的行元素变为列元素、列元素变为行元素的过程。    第一行为整数N,接着是一个N*N的矩阵。 转置矩阵。 输入样例 1 输出样例 1 解题思路: 输入二维数组。(用到for循环) 将二维数组的行与列互换。(需要两

    2024年01月21日
    浏览(47)
  • 回型矩阵|蛇形矩阵|上三角矩阵|矩阵转置|二维数组打印问题

    二维数组,作为一种存放一系列数的载体,不免和数学中用于存放数的数表——矩阵,有着密切的联系。矩阵本身就有些抽象,需要设计一个程序精准打印出来更是有难度,所以今天便来总结一些二维数组与矩阵打印的问题该如何解决。 (题目取自牛客网BC133-BC138) 给你一个

    2024年02月03日
    浏览(49)
  • JNA调用C++动态库,返回二维数组

    JNA/JNI封装,C++开发交流,  showcode1024 1.下载eclipse创建一个项目,jdk选择1.8的版本,更高的需要配置下 动态库编译后放到system32下,system下是64位的,SysWow64是32位的

    2024年01月19日
    浏览(41)
  • unity 通过 二维数组序列化 实现二维数组在编辑器面板查看和配置数据

    实现思路如下: 1、定义一个二维数组数据类 2、奖数据类标记为 Serializable  并实现 unity内置的  ISerializationCallbackReceiver接口,接口提供了序列化和反序列化方法,参见官方文档(文档中给出了字典的序列化方法):Unity - Scripting API: ISerializationCallbackReceiver 3、使用unity序列化

    2024年02月08日
    浏览(44)
  • 11-数组-二维区域和检索 - 矩阵不可变

    这是数组的第11篇算法,力扣链接。 给定一个二维矩阵  matrix ,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的  左上角  为  (row1, col1)  , 右下角  为  (row2, col2)  。 实现  NumMatrix  类: NumMatrix(int[][] matrix)  给定整数矩阵  matrix  进行初始化 int

    2024年01月24日
    浏览(54)
  • Python 将二维数组或矩阵变为三维

    之前,我们已经介绍过了 Python 将一维数组或矩阵变为三维。然而,很多时候,我们也需要对二维矩阵进行操作,这里特来介绍一下如何将二维矩阵扩展为三维。 阅读这一篇前推荐优先阅读 np.concatenate()函数。 采用 reshape 方法我们依然可以做到这一点。 reshape 方法扩展数组或

    2024年02月19日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包