1.有一个M×N的矩阵,编写程序,找出其中最大的那个元素所在的行和列,并输出其值及行号和列号。

要求:程序运行后,单击窗体,首先输入矩阵的行数和列数,根据输入的值定义数组的大小,然后根据提示输入每个元素的值,输出完最后一个元素后,程序输出计算结果,如图3所示。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
x = Val(InputBox("输入行数", "计算矩阵"))
y = Val(InputBox("输入列数", "计算矩阵"))
i = 0
t = 0
For i = 0 To x - 1 Step 1
For t = 0 To y - 1 Step 1
jz(i, t) = Val(InputBox("输入行数为" & i + 1 & "列数为" & t + 1 & "的元素", "输入矩阵的元素"))
Next t
Next i
这是我做的,我的问题是如何输入数组的元素,和显示,

你用的是VB.NET吧...
我用的是VB6.0,代码基本跟VB.NET相似...

下面代码只是一部分,输入和显示可以放在同一个循环里,另外没有写上当用户输入错误数据时的判断:

Dim x As Integer, y As Integer, px As Integer, py As Integer
Dim jz() As Integer
Dim i As Integer, t As Integer

x = Val(InputBox("输入行数", "计算矩阵"))
y = Val(InputBox("输入列数", "计算矩阵"))

ReDim jz(0 To x - 1, 0 To y - 1)

'输入数据
For i = 0 To x - 1 Step 1
For t = 0 To y - 1 Step 1
jz(i, t) = Val(InputBox("输入行数为" & CStr(i + 1) & ",列数为" & CStr(t + 1) & "的元素", "输入矩阵的元素"))
Next t
Next i

'比较数据
px = 0: py = 0
For i = 0 To x - 1 Step 1
For t = 0 To y - 1 Step 1
If jz(i, t) > jz(px, py) Then
px = i: py = t
End If
Next t
Next i

'输出结果
For i = 0 To x - 1 Step 1
For t = 0 To y - 1 Step 1
Print CStr(jz(i, t)) & " ";
Next t
Print
Next i
Print

Print "矩阵最大的元素的值为:" & CStr(jz(px, py))
Print "它所在的行号为:" & CStr(px + 1) & " 列号为:" & CStr(py + 1)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-01
这不是排序,根本用不到冒泡法,你只要定义一个变量temp,先让temp=二维数组的第一个数,然后和下面的比较,吧大的数始终给temp就完事了。
int a[M][N];
temp=a[0][0];
for(i=0,i<M;i++)
for(j=0;j<N;j++)
{
ifa[i[j]>temp
temp=a[i][j];

}
第2个回答  2010-12-01
冒泡法查一下
两个循环,
中间体:比较,记下大值及行列号
循环终了
输出 大值 行号 列号
相似回答