求助:c语言二维数组鞍点问题
- 提问者网友:那叫心脏的地方装的都是你
- 2021-04-11 01:56
P.S:最好连调用过程也一起编进去。。不胜感激啊!
- 五星知识达人网友:患得患失的劫
- 2021-04-11 03:18
#include<stdio.h>
#define m NUM1 //NUM1为矩阵的行数
#define n NUM2 //NUM2为矩阵的列数
void main()
{
void andian(int juzhen[m][n],int x,int y);
int shuzu[m][n],i,j,x,y;
x=m;y=n;
printf("请按行输入矩阵!\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&shuzu[i][j]);
andian(shuzu,x,y);
}
void andian(int juzhen[m][n],int x,int y)
{
int i,j;
int count=0; //count为计数器
for(i=0;i<x;i++)
for(j=0;j<y;j++)
{
int k;
bool bl=true; //假定该元素是鞍点
for(k=0;k<y;k++)
if(juzhen[i][k]<juzhen[i][j])
{
bl=false;
break;
} //是不是第i行最小的一个?是,真;不是,假。
for(k=0;k<x;k++)
if(juzhen[k][j]>juzhen[i][j])
{
bl=false;
break;
} //是不是第j列最大的一个?是,真;不是,假。
if(bl)
{
printf("该矩阵存在鞍点,它是矩阵(%d,%d):%d!\n",i+1,j+1,juzhen[i][j]);
count++; //i,j均从0开始,故加1。
break;
} //若最终是真,打印,计数器加一,跳出。
}
if(count==0)
printf("该矩阵不存在鞍点!\n"); //若最终计数器仍为0,则说明不存在鞍点。
}
考虑到你的智商,我做了很多说明,你要再看不懂,我就该掐死你了
- 1楼网友:人類模型
- 2021-04-11 06:18
#include<stdio.h> #define sz 30 void f(int a[][],int n); int main() { int i,j,size, array[sz][sz]; printf("please input array 大小 size:\n"); scanf("%d",&size); printf("please input array[][]:\n"); for(i=0;i<size;i++) for(j=0;j<size;j++) scanf("%d",&array[i][j]); f(array,size); return 0;
} void f(int a[][],int n) { int i,j,k,x,y,min,max,rowx; for(i=0;i<n;i++) { min= a[i][0]; for(j=0;j<n;j++) { if( a[i][j]<min) { min= a[i][j]; x=i; y=j; } rowx=x; max= a[x][y]; for(k=0;k<n;k++) { if( a[k][y]>max) { max= a[k][y]; x=k; } } } if(rowx==x) { printf("array's %d row %d scol 鞍点值:%d.",x,y, a[x][y]); } } }
- 2楼网友:猎心人
- 2021-04-11 04:54