Найти в каждой строке массива максимальный и минимальный элементы - VB

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

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

Дан двумерный массив размером n*m, заполненный случайными числами. Найти в каждой строке массива максимальный и минимальный элементы и поменять их с первым и последним элементом соответственно.
Листинг программы
  1. Dim a(1 To 50, 1 To 50) As Double
  2. Private Sub Command1_Click()
  3. Picture1.Cls: Picture2.Cls
  4. n = Val(Text1)
  5. m = Val(Text2)
  6. For i = 1 To n
  7. For j = 1 To m
  8. a(i, j) = Int(Rnd * 100)
  9. Max = a(1, 1)
  10. Min = a(1, 1)
  11. If a(i, j) > Max Then Max = a(i, j)
  12. If a(i, j) < Min Then Min = a(i, j)
  13. a(1, 1) = Max: a(n, m) = Min
  14. Picture1.Print a(i, j);
  15. Next
  16. Picture1.Print
  17. Next
  18. End Sub
Элементы находит, но вот с выводом что-то туго, никак не могу понять.
Листинг программы
  1. Dim a(1 To 50, 1 To 50) As Double
  2. Dim max(50) As Double
  3. Dim min(50) As Double
  4. Private Sub Command1_Click()
  5. Picture1.Cls: Picture2.Cls
  6. n = Val(Text1)
  7. m = Val(Text2)
  8. For i = 1 To n
  9. For j = 1 To m
  10. a(i, j) = Int(Rnd * 100)
  11. Picture1.Print a(i, j);
  12. Next
  13. Picture1.Print
  14. Next
  15. For i = 1 To n
  16. max(i) = a(i, 1)
  17. For j = 1 To m
  18. If max(i) < a(i, j) Then max(i) = a(i, j)
  19. a(i, 1) = max(i)
  20. Picture2.Print a(i, 1);
  21. Next j
  22. Picture2.Print
  23. Next i
  24. For i = 1 To n
  25. min(i) = a(i, 1)
  26. For j = 1 To m
  27. If min(i) > a(i, j) Then min(i) = a(i, j)
  28. a(i, 1) = min(i)
  29. Picture2.Print a(i, 1);
  30. Next j
  31. Picture2.Print
  32. Next i
  33. End Sub
Подскажите, пожалуйста, где ошибка. Вывод почти есть, но не совсем то, что требуется.
Листинг программы
  1. Dim a(1 To 50, 1 To 50) As Double
  2. Dim b(1 To 50, 1 To 50) As Double
  3. Dim q, w As Integer
  4. Private Sub Command1_Click()
  5. Picture1.Cls: Picture2.Cls
  6. n = Val(Text1)
  7. m = Val(Text2)
  8. For i = 1 To n
  9. For j = 1 To m
  10. a(i, j) = Int(Rnd * 100)
  11. Picture1.Print a(i, j);
  12. Next
  13. Picture1.Print
  14. Next
  15. For i = 1 To n
  16. max = a(i, 1)
  17. For j = 1 To m
  18. If max < a(i, j) Then max = a(i, j): q = i: w = j
  19. a(q, w) = a(i, 1): a(i, 1) = max
  20. Next: Next
  21. For i = 1 To n
  22. For j = 1 To m
  23. Picture2.Print a(i, j);
  24. Next j
  25. Picture2.Print
  26. Next i
  27. For i = 1 To n
  28. min = a(i, 1)
  29. For j = 1 To m
  30. If min > a(i, j) Then min = a(i, j): q = i: w = j
  31. a(q, w) = a(i, m): a(i, m) = min
  32. Next: Next
  33. For i = 1 To n
  34. For j = 1 To m
  35. Picture2.Print a(i, j);
  36. Next j
  37. Picture2.Print
  38. Next i
  39. End Sub

Решение задачи: «Найти в каждой строке массива максимальный и минимальный элементы»

textual
Листинг программы
  1. 'Option Explicit
  2. Dim A(1 To 50, 1 To 50) As Double
  3. Private Sub Command1_Click()
  4. Dim n As Integer, m As Integer, i As Integer, j As Integer
  5. Dim temp As Double, it As Integer, jt As Integer
  6. Picture1.Cls ': Picture2.Cls
  7. n = 3 'Val(Text1)
  8. m = 5 'Val(Text2)
  9. For i = 1 To n
  10.      For j = 1 To m
  11.            A(i, j) = Int(Rnd * 100)
  12.            Picture1.Print vbTab; A(i, j);
  13.      Next
  14.      Picture1.Print
  15. Next
  16.    
  17. For i = 1 To n
  18.      temp = A(i, 1): it = i:  jt = 1
  19.      For j = 1 To m
  20.          If A(i, j) > temp Then temp = A(i, j): it = i: jt = j
  21.      Next
  22.      A(it, jt) = A(i, 1): A(i, 1) = temp
  23. Next
  24.  
  25. For i = 1 To n
  26.      temp = A(i, 1): it = i: jt = 1
  27.      For j = 1 To m
  28.          If A(i, j) < temp Then temp = A(i, j): it = i: jt = j
  29.      Next
  30.      A(it, jt) = A(i, m): A(i, m) = temp
  31. Next
  32.  
  33. Picture1.Print vbCrLf
  34.  
  35. For i = 1 To n
  36.      For j = 1 To m
  37.             Picture1.Print vbTab; A(i, j);
  38.      Next
  39.      Picture1.Print
  40. Next
  41.  
  42. End Sub

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


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

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

11   голосов , оценка 4.091 из 5

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

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

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