| 求一个鞍点问题`
|
减小字体
增大字体
|
问题:找出一个二维数组上的鞍点,即在该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。源程序如下``#include<stdio.h>void main(){ int i,j,row,tier,str[3][3]={1,7,5,2,9,6,4,8,3},power=1; int saddle; saddle=str[0][0]; for(i=0;i<3;i++) { for(j=0;j<3;j++) if(saddle<str[i][j]) saddle=str[i][j]; row=i; tier=j; for(i=0;i<=row;i++) if(saddle>str[i][tier]) power=0; if(power)printf(%d is a saddle\n,saddle); else printf(have not a saddle\n); }}结果不对,求大虾帮忙``看看程序问题出现在哪里
i 是大循环变量 你在大循环里套用了2个小循环 但第2个循环结束的时候 你的i 的值 已经不是你想要的了
多几个变量
你自己再想想 如果你对找出一个二维数组上的鞍点,即在该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。源程序如下``#include<stdio.h>void main(){ int i,j,row,tier,str[3][3]={1,7,5,2,9,6,4,8,3},power=1; int saddle; saddle=str[0][0]; for(i=0;i<3;i++) { for(j=0;j<3;j++) if(saddle<str[i][j]) saddle=str[i][j]; row=i; tier=j; for(i=0;i<=row;i++) if(saddle>str[i][tier]) power=0; if(power)printf(%d is a saddle\n,saddle); else printf(have not a saddle\n); }}结果不对,求大虾帮忙``看看程序问题出现在哪里这个问题有好的意见或
建议,请留言
|
|
[]
[返回上一页]
[打 印]
|
|
|