Меняя строки и столбцы местами, добиться того, чтобы наибольший элемент был в верхнем левом углу - VB

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

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

Дошел я до этого, а дальше не получается
Листинг программы
  1. Sub Main()
  2. Dim m, n As Integer
  3. Randomize()
  4. Dim maxi, maxj As Integer
  5. Console.WriteLine("Введите количество строк")
  6. m = Console.ReadLine
  7. Console.WriteLine("Введите количество столбцов")
  8. n = Console.ReadLine
  9. Dim a(m, n) As Integer
  10. Dim i As Integer, j As Integer
  11. Dim s As String = ""
  12. Dim z As String = ""
  13. Console.WriteLine("Ваша матрица")
  14. For i = 1 To m
  15. For j = 1 To n
  16. a(i, j) = (Rnd() * 9) + 1
  17. s = s & a(i, j) & vbTab
  18. Next j
  19. Console.WriteLine(s)
  20. s = ""
  21. Next i
  22. Console.ReadLine()
  23. maxi = 1
  24. maxj = 1
  25. For i = 1 To m
  26. For j = 1 To n
  27. If a(i, j) > a(maxi, maxj) Then maxi = i : maxj = j
  28. Next
  29. Next
  30. Console.WriteLine("Максимальный элемент :" & a(maxi, maxj))

Решение задачи: «Меняя строки и столбцы местами, добиться того, чтобы наибольший элемент был в верхнем левом углу»

textual
Листинг программы
  1. Sub roman199818()
  2. Dim i%, j%, N%, M%, Max%
  3. Dim K%, R%
  4. Cells.Clear
  5. N = Int(InputBox("Введите количество строк", "Ввод данных", 4))
  6. M = Int(InputBox("Введите количество столцов", "Ввод данных", 5))
  7. ReDim A(1 To N, 1 To M)
  8. For i = 1 To N
  9.   For j = 1 To M
  10.    A(i, j) = Int((50 * Rnd) + (-25))
  11.    'Cells(i, j) = A(i, j)
  12.  Next j
  13. Next i
  14. Cells(1, 1).Resize(N, M) = A
  15.  
  16. Max = A(1, 1)
  17. For i = 1 To N
  18.   For j = 1 To M
  19.    If A(i, j) >= Max Then
  20.       Max = A(i, j)
  21.       End If
  22.     Next
  23. Next i
  24.  
  25. Cells(N + 2, 5) = Max
  26. Cells(N + 2, 1) = " Максимальный элемент: Max = "
  27.  
  28. K = 0: R = 0
  29. For i = 1 To N
  30.   For j = 1 To M
  31.    If Cells(i, j) = Max Then
  32.       K = i
  33.       R = j
  34.       End If
  35.   Next j
  36. Next i
  37. Cells(N + 3, 5) = K
  38. Cells(N + 3, 1) = " Строка максимального эл-та: i = "
  39. Cells(N + 4, 5) = R
  40. Cells(N + 4, 1) = " Столбец максимального эл-та: j = "
  41.  
  42. ReDim B(1 To N, 1 To M) As Integer
  43. For i = 1 To N
  44.   For j = 1 To M
  45.    B(i, j) = A(i, j)
  46.    B(1, j) = A(K, j)
  47.    B(K, j) = A(1, j)
  48.   Next j
  49. Next i
  50. Worksheets("Лист1").Cells(N + 6, 1).Resize(N, M).Value = B
  51.  
  52. ReDim C(1 To N, 1 To M) As Integer
  53. For i = 1 To N
  54.   For j = 1 To M
  55.    C(i, j) = B(i, j)
  56.    C(i, 1) = B(i, R)
  57.    C(i, R) = B(i, 1)
  58.   Next j
  59. Next i
  60. Worksheets("Лист1").Cells(N + N + 7, 1).Resize(N, M).Value = C
  61.  
  62. End Sub

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


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

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

14   голосов , оценка 3.857 из 5

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

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

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