C语言--实现找出3x3矩阵里行最大同时列最小的数所在的行和列
2019-08-05 21:13
176 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39397165/article/details/98519369
首先先说一下二维数组的传参,有三种模式
1.形参为二级指针
函数定义:
void function(int **arry, int col);// col为列宽度
函数调用:
function((int **)arry);
在函数中使用:
*(int *)arry+rows*col+cols ;
2.形参为数组指针
函数定义:
void function(int (*arry)[], int col);// col为列宽度
函数调用:
function(arry); //直接输入数组名就可以了
在函数中使用:
*(int *)arry+rows*col+cols; *(a[rows]+cols); *(*(a+rows)+rols);
2.形参为二维数组
函数定义:
void function(int arry[][n]);// col为列宽度
函数调用:
function(arry); //直接输入数组名就可以了
在函数中使用:
*(int *)arry+rows*col+cols; *(a[rows]+cols); *(*(a+rows)+rols);
下面实现找出3x3矩阵里行最大同时列最小的数所在的行和列
// arry 矩阵 row: 行 col: 列 Rrow: 返回行 Rcol: 返回列 void FoundMaxRowMinCol(int **arry,int row,int col,int *Rrow,int *Rcol) { //先判断数组是否为空 if(arry==NULL) { return False; } int i=0,j=0; int Number=0; for(i=0;i<row;i++) { for(j=0;j<col;j++) { if(*((int *)arry+i*col+j)>Number) //先找出行最大 { Number=*((int *)arry+i*col+j; *Rrow=i; *Rcol=j; } } //再判断是不是列最小 for(int k=0;k<row;k++) { if(*((int *)arry+k*col+*Rcol)<Number) break; //跳出循环 if(k=row-1) printf("%d, %d\n", *row, *col); } } }
相关文章推荐
- 同时找出数组的最大值和最小值
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下顺序依次从小到大存放),写一函数实现之。
- C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置
- JAVA之建立一个m行n列的矩阵,并找出其中最小的元素所在的行和列
- 算法数据结构C++实现7 - 同时查找最大值和最小值优化算法
- 找出整型数组中最大和最小值及其所在位置
- 同时找出最大值和最小值
- C语言:通过返回指针的形式找出数组的最大值和最小值
- 将一个5*5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序从左到右,从上到下顺序依次从小到大存放),写一个函数实现之。用main函数调用。
- C语言实现数组中查找最大值、最小值和第二大值
- 【算法导论】同时找出最大值和最小值
- 【C语言】有一个3*4的矩阵,要求编一个程序求出其中值最大的那个元素的值, 以及其所在的行号和列号。
- c语言:3*4的矩阵,编程序求出其中最大的那个元素的值,以及其所在的行号和列号。(打擂台算法)
- 6-2 找出矩阵中最大值所在的位置
- 实现输入的四个数字找出最大最小并指出位置信息 动手修改程序3
- C语言之矩阵输入6*8的矩阵,求矩阵中值最大的那个元素的值已经其所在的行号和列号
- 【c语言】:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
- c语言:3*4的矩阵,编程序求出其中最大的那个元素的值,以及其所在的行号和列号。(打擂台算法)
- 蓝桥杯 - 算法训练 最大最小公倍数 C语言实现
- 输入一组整数,找出这组数中最大值与最小值的下标,在主调函数中输出最大值和最小值,用指针实现。