Сформировать матрицу N*N случайных чисел - VB
Формулировка задачи:
"Сформировать матрицу N*N случайных чисел в диапозоне от -340 до 570.Разработать общую процедуру Sub вывода матрицы на экран в элемент управления TextBox.Определить максимальное значение среди отрицательных чисел,расположенных в верхнем треугольнеке и минимальное среди положительных чисел-в левом треугольнике,образованном диагоналями.Вывести на экран эти значения с указанием координат.Поменять их местами."
Вот то,что я сделала:
Вообще не знаб как это делать,но хотелось бы разобраться!!)Кто-нибудь может помочь????
Листинг программы
- 'первый блок
- Dim I As Integer 'глобальные переменные
- Dim J As Integer
- Dim Sp As String
- Private Sub Command1_Click()
- 'второй блок программы
- 'описание данных
- Dim Mas() As Integer
- Dim N As Integer
- 'ввод данных
- N = InputBox("Вв-те р-р матрицы")
- ReDim Mas(1 To N, 1 To N) As Integer
- For I = 1 To N
- For J = 1 To N
- Mas(I, J) = Fix(Rnd * 100)
- Next J
- Next I
- 'вывод исходных данных на экран
- P1 Mas(), N
- Text1.Text = Sp
- 'обработка данных
- Max = 0 'минимальный из возможных
- For I = 1 To N
- For J = 1 To N
- If Mas(I, J) > Max Then Max = Mas(I, J): T = I: P = J
- Next J
- Next I
- Min = 100 'максимальный из возможных
- For I = 1 To N
- For J = 1 To N
- If Mas(I, J) < Min Then Min = Mas(I, J): R = I: D = J
- Next J
- Next I
- C = Mas(T, P): Mas(T, P) = Mas(R, D): Mas(R, D) = C
- P1 Mas(), N
- Text8.Text = Sp
- 'вывод на экран
- Text2.Text = Max
- Text3.Text = T
- Text4.Text = P
- Text5.Text = Min
- Text6.Text = R
- Text7.Text = D
- End Sub
- 'третий блок
- Private Sub P1(A() As Integer, M As Integer)
- Sp = ""
- For I = 1 To M
- For J = 1 To M
- Sp = Sp + Str(A(I, J)) + " "
- Next J
- Sp = Sp + vbCrLf
- Next I
- End Sub
Решение задачи: «Сформировать матрицу N*N случайных чисел»
textual
Листинг программы
- Dim arr() As Double, n As Byte, i As Byte, j As Byte, u As Byte
- Dim less As Single, Answer
- Dim max As Single, maxI As Byte, maxJ As Byte
- Dim min As Single, minI As Byte, minJ As Byte
- Private Sub Command1_Click()
- n = InputBox("n")
- Answer = ""
- ReDim arr(1 To n, 1 To n)
- For i = 1 To n
- For j = 1 To n
- arr(i, j) = Int(910 * Rnd - 340)
- Answer = Answer & arr(i, j) & " "
- Next j
- Answer = Answer & Chr(13)
- Next i
- MsgBox Answer
- If (n Mod 2) = 0 Then less = 0 Else less = 0.5
- max = -350
- For i = 1 To n / 2
- For j = i To n - i + 1
- If arr(i, j) > max And arr(i, j) < 0 Then max = arr(i, j): maxI = i: maxJ = j
- Next j
- Next i
- If max = -350 Then
- MsgBox ("Нет отрицательных в верхнем треугольнике")
- Else
- MsgBox "max " & max & "(" & maxI & ";" & maxJ & ")"
- End If
- min = 580
- For i = 1 To n
- If i > ((n / 2) + less) Then u = n - i + 2 * less Else u = i
- For j = 1 To u
- If arr(i, j) > 0 And arr(i, j) < min Then min = arr(i, j): minI = i: minJ = j
- Next j
- Next i
- If min = 580 Then
- MsgBox ("Нет положительных в левом треугольнике")
- Else
- MsgBox "min " & min & "(" & minI & ";" & minJ & ")"
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д