编程题9
【问题描述】输入1 个正整数n(1<n<6)和n 阶整数矩阵a 中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标及鞍点值;否则,输出none; (只要求输出a的第一个鞍点)。
【输入形式】
第一行,输入一个正整数,范围2~6
第二行开始,输入n阶整数矩阵,数据项用一个空格分开
【输出形式】
如果有鞍点,输出三个整数,分别代表第一个鞍点的行下标、列下标、鞍点值,它们之间用空格分隔;如果没有鞍点,输出:none
【样例输入】
4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
【样例输出】
2 1 6 int main()
{
int n=0;
scanf("%d",&n);
fflush(stdin);
int **a=new int*,*tmp=new int,(*rmax)=(int(*))(new int),i=0,j=0;
for (i = 0; i < n; i++)a=tmp+i*n,\
rmax=rmax=rmax=0;
for(i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d",&a);
}
fflush(stdin);
}
for(i=0;i<n;i++)
{
rmax=i;
for(j=1;j<n;j++)
{
if(a]]<a)rmax=j;
}
for(j=1;j<n;j++)
{
if(a]]>a])break;
}
if(j==n)break;//if(j==n)rmax=1;
}
if (n==i)
{
printf("none");
}
else
{
printf("%d %d %d",rmax,rmax,a]]);
}
delete[] tmp;
delete[] a;
delete[] rmax;
return 0;
}
4
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
2 1 6
页:
[1]