Сформировать матрицу N*N случайных чисел - VB

Узнай цену своей работы

Формулировка задачи:

"Сформировать матрицу N*N случайных чисел в диапозоне от -340 до 570.Разработать общую процедуру Sub вывода матрицы на экран в элемент управления TextBox.Определить максимальное значение среди отрицательных чисел,расположенных в верхнем треугольнеке и минимальное среди положительных чисел-в левом треугольнике,образованном диагоналями.Вывести на экран эти значения с указанием координат.Поменять их местами." Вот то,что я сделала:
Листинг программы
  1. 'первый блок
  2. Dim I As Integer 'глобальные переменные
  3. Dim J As Integer
  4. Dim Sp As String
  5. Private Sub Command1_Click()
  6. 'второй блок программы
  7. 'описание данных
  8. Dim Mas() As Integer
  9. Dim N As Integer
  10. 'ввод данных
  11. N = InputBox("Вв-те р-р матрицы")
  12. ReDim Mas(1 To N, 1 To N) As Integer
  13. For I = 1 To N
  14. For J = 1 To N
  15. Mas(I, J) = Fix(Rnd * 100)
  16. Next J
  17. Next I
  18. 'вывод исходных данных на экран
  19. P1 Mas(), N
  20. Text1.Text = Sp
  21. 'обработка данных
  22. Max = 0 'минимальный из возможных
  23. For I = 1 To N
  24. For J = 1 To N
  25. If Mas(I, J) > Max Then Max = Mas(I, J): T = I: P = J
  26. Next J
  27. Next I
  28. Min = 100 'максимальный из возможных
  29. For I = 1 To N
  30. For J = 1 To N
  31. If Mas(I, J) < Min Then Min = Mas(I, J): R = I: D = J
  32. Next J
  33. Next I
  34. C = Mas(T, P): Mas(T, P) = Mas(R, D): Mas(R, D) = C
  35. P1 Mas(), N
  36. Text8.Text = Sp
  37. 'вывод на экран
  38. Text2.Text = Max
  39. Text3.Text = T
  40. Text4.Text = P
  41. Text5.Text = Min
  42. Text6.Text = R
  43. Text7.Text = D
  44. End Sub
  45. 'третий блок
  46. Private Sub P1(A() As Integer, M As Integer)
  47. Sp = ""
  48. For I = 1 To M
  49. For J = 1 To M
  50. Sp = Sp + Str(A(I, J)) + " "
  51. Next J
  52. Sp = Sp + vbCrLf
  53. Next I
  54. End Sub
Вообще не знаб как это делать,но хотелось бы разобраться!!)Кто-нибудь может помочь????

Решение задачи: «Сформировать матрицу N*N случайных чисел»

textual
Листинг программы
  1. Dim arr() As Double, n As Byte, i As Byte, j As Byte, u As Byte
  2. Dim less As Single, Answer
  3. Dim max As Single, maxI As Byte, maxJ As Byte
  4. Dim min As Single, minI As Byte, minJ As Byte
  5. Private Sub Command1_Click()
  6. n = InputBox("n")
  7. Answer = ""
  8. ReDim arr(1 To n, 1 To n)
  9. For i = 1 To n
  10. For j = 1 To n
  11. arr(i, j) = Int(910 * Rnd - 340)
  12. Answer = Answer & arr(i, j) & "  "
  13. Next j
  14. Answer = Answer & Chr(13)
  15. Next i
  16. MsgBox Answer
  17. If (n Mod 2) = 0 Then less = 0 Else less = 0.5
  18. max = -350
  19. For i = 1 To n / 2
  20. For j = i To n - i + 1
  21. If arr(i, j) > max And arr(i, j) < 0 Then max = arr(i, j): maxI = i: maxJ = j
  22. Next j
  23. Next i
  24. If max = -350 Then
  25. MsgBox ("Нет отрицательных в верхнем треугольнике")
  26. Else
  27. MsgBox "max " & max & "(" & maxI & ";" & maxJ & ")"
  28. End If
  29. min = 580
  30. For i = 1 To n
  31. If i > ((n / 2) + less) Then u = n - i + 2 * less Else u = i
  32. For j = 1 To u
  33. If arr(i, j) > 0 And arr(i, j) < min Then min = arr(i, j): minI = i: minJ = j
  34. Next j
  35. Next i
  36. If min = 580 Then
  37. MsgBox ("Нет положительных в левом треугольнике")
  38. Else
  39. MsgBox "min " & min & "(" & minI & ";" & minJ & ")"
  40. End If
  41. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы