首页 > 软件 > c语言二维数组鞍点a[0][4]哪里错了

c语言二维数组鞍点a[0][4]哪里错了

软件 2024-07-10

c++二维数组鞍点 帮忙看看哪里错了


#include
usingnamespacestd;
intmain()
{
inti,j;
constintm=4;
constintn=4;
intmaxnum;
inta[m][n]={{90,85,88,82},{78,75,86,88},{73,60,52,71},{80,82,87,90}};
intk;
for(i=0;i{
maxnum=max(a[i][0],a[i][3]);//找到每行最大值;
for(intj=0;jif(a[i][j]==maxnum)//找到最大值的位置;
{
for(k=0;k{
if(k==i)continue;//判断到最大数列直接跳到下一个
if(maxnumelsebreak;//判断大于其他列的值直接跳出循环结束此行判断
}
if(k==m)cout<<"找到一个鞍点:"<elsebreak;//否则开始下一列
}
}
}
return0;
}

c语言 求二维数组的鞍点

#include<stdio.h>

#define N 3

#define M 4

int main()

{

int i,j,k,max,min;

int array[N][M];

printf("请输入数组元素:\n");

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

{

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

scanf("%d",&array<i>[j]);

}

printf("数组有:\n");

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

{

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

printf("%-5d\t",array<i>[j]);

printf("\n");

}

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

{

max=array<i>[0];//用列来进行当前行来比较

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

{

if(max<array<i>[j])

max=array<i>[j];

k=j;//记录下当前一行中最大的小标

}

min=array[0][k];

for(j=0;j<N;j++)//用行来进行列比较

{

if(min>array<i>[k])//若在该列中有更小的,则赋值与min

min=array<i>[k];

}

if(min==max)

{

printf("小标为%d,%d,鞍点为:%d",i+1,k,max);

}

}

printf("搜索结束\n");

return;

}

扩展资料:

define作用

被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。

宏定义的作用范围仅限于当前文件,即file1.c中定义#define PI 3.14,在file2.c中该宏定义不起作用;

通过将#define PI 3.14定义在common.h中,file1.c和file2.c分别#include"common.h"的方式,该宏定义在file1.c和file2.c中都起作用。

在C或C++语言中,“宏”分为有参数和无参数两种。

参考资料:

百度百科——define(计算机专业用语)

C语言 找“鞍点” 纠错

其实,这一题不难,你自己应该能找出bug。初始化,注意放的位置,还有,下面判断列最小时。

c语言 鞍点 找错

从语法上来看 你最开始得定义得二维数组不正确 因为你下面输出得是一个 三行三列得整型二维数组应该定义成int a[3][3];或者int a[][3]; 你有可能错误得理解成数组是从a[0][0]开始到a[2][2]结束 而认为只用定义到a[2][2]就可以咯那样理解是错误得。 你可以去翻一下C语言输上数组那章得定义

找出二维数组中的鞍点,c语言

你好:

#include

voidmain()

{

inti,j,min,m,n,p,q,max;

m=0;n=0;p=0;q=0;

inta[4][4]={{1,2,4,3},{5,2,7,4},{7,3,6,8},{2,4,5,9}};

max=a[0][0];

min=a[0][0];

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

{

m=i;

n=0;

p=0;

q=0;

max=a[i][0];

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

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

{

max=a[i][j];

n=j;

}

min=a[0][n];

q=n;

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

if(a[j][n]

{

min=a[j][n];

p=j;

}

if((p==m))

{

printf("鞍点为:%d\n",a[m][n]);

printf("此时m=%d;n=%d\n",m,n);

break;

}

else

if(i>=3)

printf("noandian");

}

}

已编译出,是正确的,如果哪里不懂,再联系我。

希望对你有帮助


标签:编程 C(编程语言) 编程语言 CC++ 信息技术

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18