
vfp程序题
求出任意一个二维数组中某个元素,此元素在所在行上最大,在所在列上最小.注意可能不止一个,也可能没有,对于各种情况都应输出有关信息.注意:一行上可能有几个元素都是最大值,列...
求出任意一个二维数组中某个元素,此元素在所在行上最大,在所在列上最小.注意可能不止一个,也可能没有,对于各种情况都应输出有关信息.
注意:一行上可能有几个元素都是最大值,列上的情况也类似. 展开
注意:一行上可能有几个元素都是最大值,列上的情况也类似. 展开
1个回答
展开全部
下面就是程序效率低了点
set talk off
clear
input "请输入矩阵的行数m=" to m
input "请输入矩阵的列数n=" to n
dimension a(m,n)
?"请输入矩阵的元素:"
for i=1 to m
for j=1 to n
input "a("+alltrim(str(i))+","+alltrim(str(j))+")=" to a(m,n)
next
next
aj=.f.
bj=.f.
flag=.t.
?"马鞍点为:"
for i=1 to m
for j=1 to n
zd=a(i,j)
h=i
g=j
for x=1 to n
if x=j
loop
else
if a(h,x)>zd
flag=.f.
exit
else
flag=.t.
endif
endif
endfor
if flag
for y=1 to m
if y=i
loop
else
if a(y,g)<zd
bj=.f.
exit
else
bj=.t.
endif
endif
endfor
if bj
aj=.t.
??"a("+alltrim(str(h))+","+alltrim(str(g))+")=",zd
endif
endif
endfor
endfor
if aj
else
?? "没有马鞍点!!"
endif
set talk on
set talk off
clear
input "请输入矩阵的行数m=" to m
input "请输入矩阵的列数n=" to n
dimension a(m,n)
?"请输入矩阵的元素:"
for i=1 to m
for j=1 to n
input "a("+alltrim(str(i))+","+alltrim(str(j))+")=" to a(m,n)
next
next
aj=.f.
bj=.f.
flag=.t.
?"马鞍点为:"
for i=1 to m
for j=1 to n
zd=a(i,j)
h=i
g=j
for x=1 to n
if x=j
loop
else
if a(h,x)>zd
flag=.f.
exit
else
flag=.t.
endif
endif
endfor
if flag
for y=1 to m
if y=i
loop
else
if a(y,g)<zd
bj=.f.
exit
else
bj=.t.
endif
endif
endfor
if bj
aj=.t.
??"a("+alltrim(str(h))+","+alltrim(str(g))+")=",zd
endif
endif
endfor
endfor
if aj
else
?? "没有马鞍点!!"
endif
set talk on
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询