用VB程序编程:有一个n×m的矩阵,编写程序,找出其中最大的元素所在的行和列,并输出其值及行号和列号。 麻烦了,要标准答案。
不会VB,不过VB和Pascal好像比较像
我写Pascal的代码,你应该能理解...
var n,m,i,j,a,max,x,y:longint; {定义变量}
begin
read(n,m); {读入行和列}
max:=-maxlongint; {将max赋值为负无穷}
for i:=1 to n do {循环行与列}
for j:=1 to m do
begin
read(a); {读入第i行,第j列的元素}
if a>max then
begin
max:=a; x:=i; y:=j; {如果元素a大于max,则记录下目前的最大值a及其行与列}
end;
end;
writeln(max,' ',x,' ',y); {输出最大元素及其行与列}
end.
我写Pascal的代码,你应该能理解...
var n,m,i,j,a,max,x,y:longint; {定义变量}
begin
read(n,m); {读入行和列}
max:=-maxlongint; {将max赋值为负无穷}
for i:=1 to n do {循环行与列}
for j:=1 to m do
begin
read(a); {读入第i行,第j列的元素}
if a>max then
begin
max:=a; x:=i; y:=j; {如果元素a大于max,则记录下目前的最大值a及其行与列}
end;
end;
writeln(max,' ',x,' ',y); {输出最大元素及其行与列}
end.
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-08-05
标准答案没有。参考答案有一个。假如在16*6 的矩阵里。最大元素(数字为元素) 值为唯一。单元格A1:F16为矩阵区域。
Sub 计算()
Dim a As Range, b%, i%, k%
Set a = Range("a1:f16")
b = Application.Max(a)
For i = 1 To 16
For k = 1 To 6
If Cells(i, k) = b Then GoTo q
Next
Next
q: MsgBox "最大数是" & b & Chr(10) & "行数是" & i & Chr(10) & "列数是" & k
End Sub本回答被网友采纳
Sub 计算()
Dim a As Range, b%, i%, k%
Set a = Range("a1:f16")
b = Application.Max(a)
For i = 1 To 16
For k = 1 To 6
If Cells(i, k) = b Then GoTo q
Next
Next
q: MsgBox "最大数是" & b & Chr(10) & "行数是" & i & Chr(10) & "列数是" & k
End Sub本回答被网友采纳