新手求助
请问程序写到这里之后要如果写才能把鞍点(行上最大,列上最小的数)找出来:#include "stdafx.h"
int main(int argc, char* argv[])
{
printf("Hello World!\n");
int a[3][4]={{11,22,74,68},{78,99,85,64},{15,22,84,94}};
int i,j,max=0,k=0,log,lon;
for (i = 0;i < 3;i++)
{
for (j = 0;j <4; j++)
printf("%3d",a[i][j]);
printf("\n");}
for (i = 0; i< 3;i++)
{
for (j = 0; j < 4;j++)
if(a[i][j]>a[i][max])
max = j;
log= true;
printf("行上的最大值是:%d\n",a[i][max]);
}
for (j = 0;j<4;j++)
{
for (i = 0;i <3;i++)
if(a[k][j]>a[i][j])
k = i;
lon= true;
printf("列上的最小值是:%d\n",a[k][j]);
----------------解决方案--------------------------------------------------------
/*这个能满足你的要求*/
/*行列最大最小值*/#include<stdio.h>
int main(int argc, char* argv[])
{
int a[3][4]={{11,22,74,68},{78,99,85,64},{15,22,84,94}};
int i,j,max=0,min=0;
printf("Hello World!\n");
for (i = 0;i < 3;i++)
{
for (j = 0;j <4; j++)
printf("%3d",a[i][j]);
printf("\n");}
for (i = 0; i< 3;i++)
{ max=a[i][0];
for (j = 0; j < 4;j++)
if(a[i][j]>max)
max = a[i][j];
printf("行上的最大值是:%d\n",max);
}
for (j = 0;j<4;j++)
{
min=a[0][j];
for (i =1;i<3;i++)
if(a[i][j]<min)
min=a[i][j];
printf("列上的最小值是:%d\n",min);
}
}
----------------解决方案--------------------------------------------------------
不是这样的要求的,题目是求鞍点的(鞍点就是这些数中在行中最大,在列上最小的那一个数).
我已经求出行上的最大值和列上的最小值,但不知怎么样才能把它们联系起来.....
----------------解决方案--------------------------------------------------------
不是输出每行最大
和每列最小吗?
----------------解决方案--------------------------------------------------------
不是,其实是要输出一个鞍点来的.
就是一个数即是那一行的最大值同时也是那一列的最小值
----------------解决方案--------------------------------------------------------
#include"stdio.h"
main(int argc, char* argv[])
{
int a[3][4]={{11,22,74,68},{78,99,85,64},{15,22,84,94}};
int i,j,maxi=0,maxj=0,k=0,mini=0,minj=0;
int bj=1;
printf("Hello World!\n");
for (i = 0;i < 3;i++)
{
for (j = 0;j <4; j++)
printf("%3d",a[i][j]);
printf("\n");}
for (i = 0; i< 3;i++)
{ maxi=i;
maxj=0;
for (j = 0; j < 4;j++)
if(a[i][j]>a[maxi][maxj])
{
maxj = j;
}
mini=maxi;
minj=maxj;
printf("行上的最大值是:%d\n",a[maxi][maxj]);
for(j=0; j<3;j++)
{
if(a[mini][minj]<=a[j][minj])
{
bj++;continue;
}
else
{
break;
}
}
if(bj==1)
printf("没有找到第%d行的鞍点!\n",i);
else
{
printf("鞍点为%d:\n",a[mini][minj]);
bj=1;
}
}
}
你又失去一次提高的机会啊,呵呵
----------------解决方案--------------------------------------------------------
ls加油啊.呵呵
----------------解决方案--------------------------------------------------------
抢俺生意赞你一个
----------------解决方案--------------------------------------------------------
楼主加油啊~~
----------------解决方案--------------------------------------------------------
真的太感谢你们了
----------------解决方案--------------------------------------------------------