Заменить максимальный элемент по модулю каждой строки на противоположный по знаку - VB

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

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

Здравствуйте помогите пожалуйста вот такая проблема, сделал задания с массива для вывода в picturebox, а надо во flex, дак плюс к тому еще нужно из текстового файла, ладно с этим разобрался а вот незнаю как перестроить все это через флекс, вот наработки,уже 3 дня пытаюсь, тупик..... Вот сделано все в пикчебокс они все сделаны правильно, но к сведению напишу задания 1)заменить максимальный элемент по модулю каждой строки на противоположный по знаку 2) удалить из массива все строки, содержащие ноль 3) поменять местами две средние строки
Листинг программы
  1. Dim n%, m%, mas%(), mas_tmp%(), j_max%(), j_neg%()
  2. Private Sub Combo1_Change()
  3. End Sub
  4. Private Sub Command1_Click()
  5. Picture1.Cls
  6. Randomize
  7. n = InputBox("Введите n")
  8. m = InputBox("Введите m")
  9. ReDim mas(n - 1, m - 1)
  10. ReDim j_max(n - 1)
  11. For i = 0 To n - 1
  12. t = ""
  13. j_max(i) = 0
  14. Max = mas(i, 0)
  15. For j = 0 To m - 1
  16. mas(i, j) = Int(21 * Rnd() - 5)
  17. t = t & mas(i, j) & vbTab
  18. Next
  19. Picture1.Print t
  20. Next
  21. End Sub
  22.  
  23. Private Sub Command2_Click()
  24. For i = 0 To n - 1
  25. j_max(i) = 0
  26. Max = mas(i, 0)
  27. For j = 0 To m - 1
  28. If Abs(mas(i, j)) > Max Then Max = mas(i, j): j_max(i) = j
  29. Next
  30. mas(i, j_max(i)) = -mas(i, j_max(i))
  31. Next
  32. Picture2.Cls
  33. For i = 0 To n - 1
  34. t = ""
  35. For j = 0 To m - 1
  36. t = t & mas(i, j) & vbTab
  37. Next
  38. Picture2.Print t
  39. Next
  40. End Sub
  41. Private Sub Command3_Click()
  42. Randomize
  43. n = InputBox("Введите n")
  44. m = InputBox("Введите m")
  45. ReDim mas(n - 1, m - 1)
  46. ReDim j_max(n - 1)
  47. For i = 0 To n - 1
  48. j_max(i) = 0
  49. Max = mas(i, 0)
  50. For j = 0 To m - 1
  51. mas(i, j) = Int(21 * Rnd() - 5)
  52. Next
  53. Next
  54. MSFlexGrid1.Rows = n + 1
  55. MSFlexGrid1.Cols = m + 1
  56.  
  57. MSFlexGrid1.Row = 0
  58. For j = 0 To m
  59. MSFlexGrid1.Col = j
  60. MSFlexGrid1.ColWidth(j) = 700
  61. MSFlexGrid1.Text = j
  62. Next j
  63.  
  64. MSFlexGrid1.Col = 0
  65. MSFlexGrid1.ColWidth(0) = 300
  66. For i = 0 To n
  67. MSFlexGrid1.Row = i
  68. MSFlexGrid1.Text = i
  69. Next i
  70.  
  71. For i = 0 To n - 1
  72. t = ""
  73. MSFlexGrid1.Row = i + 1
  74. j_max(i) = 0
  75. Max = mas(i, 0)
  76. For j = 0 To m - 1
  77. MSFlexGrid1.Col = j + 1
  78. MSFlexGrid1.Text = mas(i, j)
  79. Next j
  80. Next i
  81. End Sub
  82. Private Sub Command4_Click()
  83. Picture2.Cls
  84. k = 0
  85. ReDim mas_tmp(n - 1, m - 1)
  86. For i = 0 To n - 1
  87. For j = 0 To m - 1
  88. mas_tmp(i - k, j) = mas(i, j)
  89. If mas(i, j) = 0 Then k = k + 1: Exit For
  90. Next
  91. Next
  92. ReDim mas(n - 1 - k, m - 1)
  93. mas = mas_tmp
  94. For i = 0 To n - 1 - k
  95. t = ""
  96. For j = 0 To m - 1
  97. t = t & mas(i, j) & vbTab
  98. Next
  99. Picture2.Print t
  100. Next
  101. End Sub
  102. Private Sub Command5_Click()
  103. Picture2.Cls
  104. k = (n - 1) \ 2
  105. For j = 0 To m - 1
  106. t = mas(k, j)
  107. mas(k, j) = mas(k + 1, j)
  108. mas(k + 1, j) = t
  109. Next
  110. For i = 0 To n - 1
  111. t = ""
  112. For j = 0 To m - 1
  113. t = t & mas(i, j) & vbTab
  114. Next
  115. Picture2.Print t
  116. Next
  117. End Sub
а вот наработки по флексу
Листинг программы
  1. Dim n%, m%, mas(50, 50) As Integer, mas_tmp%(50, 50), j_max%(50, 50), j_neg%(50, 50)
  2. Private Sub Command2_Click()
  3. Open File1.Path + "\" + File1.FileName For Input As #1
  4. Input #1, n
  5. For i = 0 To n - 1
  6. For j = 0 To n - 1
  7. Input #1, mas(i, j)
  8. Next
  9. Next
  10. Close #1
  11. MSFlexGrid1.Rows = n + 1
  12. MSFlexGrid1.Cols = n + 1
  13. MSFlexGrid1.Row = 0
  14. For j = 0 To n
  15. MSFlexGrid1.Col = j
  16. MSFlexGrid1.ColWidth(j) = 700
  17. MSFlexGrid1.Text = j
  18. Next j
  19. MSFlexGrid1.Col = 0
  20. MSFlexGrid1.ColWidth(0) = 300
  21. For i = 0 To n
  22. MSFlexGrid1.Row = i
  23. MSFlexGrid1.Text = i
  24. Next i
  25. For i = 0 To n - 1
  26. MSFlexGrid1.Row = i + 1
  27. For j = 0 To n - 1
  28. MSFlexGrid1.Col = j + 1
  29. MSFlexGrid1.Text = mas(i, j)
  30. Next j
  31. Next i
  32. End Sub
  33. Private Sub Drive1_Change()
  34. Dir1.Path = Drive1.Drive
  35. End Sub
  36. Private Sub Dir1_Change()
  37. File1.Path = Dir1.Path
  38. End Sub
  39. Private Sub Command1_Click()
  40. k = 0
  41. For i = 0 To n - 1
  42. For j = 0 To n - 1
  43. mas_tmp(i - k, j) = mas(i, j)
  44. If mas(i, j) = 0 Then k = k + 1: Exit For
  45. Next
  46. Next
  47. mas = mas_tmp
  48. For i = 0 To n - 1 - k
  49. For j = 0 To n - 1
  50. Next
  51. Next
  52. End Sub
  53. MSFlexGrid2.Rows = n + 1
  54. MSFlexGrid2.Cols = n + 1
  55. MSFlexGrid2.Row = 0
  56. For j = 0 To n
  57. MSFlexGrid2.Col = j
  58. MSFlexGrid2.ColWidth(j) = 700
  59. MSFlexGrid2.Text = j
  60. Next j
  61. 'ÔîðìèðîâГ*Г*ГЁГҐ Г§Г*ãîëîâêîâ ñòðîê
  62. MSFlexGrid2.Col = 0
  63. MSFlexGrid2.ColWidth(0) = 300
  64. For i = 0 To n
  65. MSFlexGrid2.Row = i
  66. MSFlexGrid2.Text = i
  67. Next i
  68. For i = 0 To n - 1
  69. MSFlexGrid2.Row = i + 1
  70. For j = 0 To n - 1
  71. MSFlexGrid2.Col = j + 1
  72. MSFlexGrid2.Text = mas(i, j)
  73. Next j
  74. Next i
  75. End Sub

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

textual
Листинг программы
  1. Dim n%, m%, mas%(), mas_tmp%(), j_max%(), j_neg%()
  2. Private Sub Command1_Click()
  3. 'Picture1.Cls
  4. Randomize
  5. n = InputBox("Введите n", , 5): m = InputBox("Введите m", , 5)
  6. ReDim mas(n - 1, m - 1)
  7. ReDim j_max(n - 1)
  8. For i = 0 To n - 1
  9.     t = ""
  10.     j_max(i) = 0
  11.     Max = mas(i, 0)
  12.     For j = 0 To m - 1
  13.         mas(i, j) = Int(21 * Rnd() - 5)
  14.         t = t & mas(i, j) & vbTab
  15.     Next
  16. '   Picture1.Print t
  17. Next
  18. MSFlexGrid1.Rows = m: MSFlexGrid1.Cols = n: MSFlexGrid1.Clear
  19. For i = 1 To n - 1
  20. MSFlexGrid1.ColWidth(i) = 500
  21. Next i
  22. For i = 1 To n - 1
  23.     For j = 1 To m - 1
  24.         MSFlexGrid1.TextMatrix(i, j) = mas(i, j)
  25.     Next
  26. Next
  27. End Sub

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


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

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

9   голосов , оценка 4.222 из 5

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

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

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