Заменить максимальный элемент по модулю каждой строки на противоположный по знаку - VB
Формулировка задачи:
Здравствуйте помогите пожалуйста вот такая проблема, сделал задания с массива для вывода в picturebox, а надо во flex, дак плюс к тому еще нужно из текстового файла, ладно с этим разобрался а вот незнаю как перестроить все это через флекс, вот наработки,уже 3 дня пытаюсь, тупик.....
Вот сделано все в пикчебокс они все сделаны правильно, но к сведению напишу задания
1)заменить максимальный элемент по модулю каждой строки на противоположный по знаку
2) удалить из массива все строки, содержащие ноль
3) поменять местами две средние строки
а вот наработки по флексу
Листинг программы
- Dim n%, m%, mas%(), mas_tmp%(), j_max%(), j_neg%()
- Private Sub Combo1_Change()
- End Sub
- Private Sub Command1_Click()
- Picture1.Cls
- Randomize
- n = InputBox("Введите n")
- m = InputBox("Введите m")
- ReDim mas(n - 1, m - 1)
- ReDim j_max(n - 1)
- For i = 0 To n - 1
- t = ""
- j_max(i) = 0
- Max = mas(i, 0)
- For j = 0 To m - 1
- mas(i, j) = Int(21 * Rnd() - 5)
- t = t & mas(i, j) & vbTab
- Next
- Picture1.Print t
- Next
- End Sub
- Private Sub Command2_Click()
- For i = 0 To n - 1
- j_max(i) = 0
- Max = mas(i, 0)
- For j = 0 To m - 1
- If Abs(mas(i, j)) > Max Then Max = mas(i, j): j_max(i) = j
- Next
- mas(i, j_max(i)) = -mas(i, j_max(i))
- Next
- Picture2.Cls
- For i = 0 To n - 1
- t = ""
- For j = 0 To m - 1
- t = t & mas(i, j) & vbTab
- Next
- Picture2.Print t
- Next
- End Sub
- Private Sub Command3_Click()
- Randomize
- n = InputBox("Введите n")
- m = InputBox("Введите m")
- ReDim mas(n - 1, m - 1)
- ReDim j_max(n - 1)
- For i = 0 To n - 1
- j_max(i) = 0
- Max = mas(i, 0)
- For j = 0 To m - 1
- mas(i, j) = Int(21 * Rnd() - 5)
- Next
- Next
- MSFlexGrid1.Rows = n + 1
- MSFlexGrid1.Cols = m + 1
- MSFlexGrid1.Row = 0
- For j = 0 To m
- MSFlexGrid1.Col = j
- MSFlexGrid1.ColWidth(j) = 700
- MSFlexGrid1.Text = j
- Next j
- MSFlexGrid1.Col = 0
- MSFlexGrid1.ColWidth(0) = 300
- For i = 0 To n
- MSFlexGrid1.Row = i
- MSFlexGrid1.Text = i
- Next i
- For i = 0 To n - 1
- t = ""
- MSFlexGrid1.Row = i + 1
- j_max(i) = 0
- Max = mas(i, 0)
- For j = 0 To m - 1
- MSFlexGrid1.Col = j + 1
- MSFlexGrid1.Text = mas(i, j)
- Next j
- Next i
- End Sub
- Private Sub Command4_Click()
- Picture2.Cls
- k = 0
- ReDim mas_tmp(n - 1, m - 1)
- For i = 0 To n - 1
- For j = 0 To m - 1
- mas_tmp(i - k, j) = mas(i, j)
- If mas(i, j) = 0 Then k = k + 1: Exit For
- Next
- Next
- ReDim mas(n - 1 - k, m - 1)
- mas = mas_tmp
- For i = 0 To n - 1 - k
- t = ""
- For j = 0 To m - 1
- t = t & mas(i, j) & vbTab
- Next
- Picture2.Print t
- Next
- End Sub
- Private Sub Command5_Click()
- Picture2.Cls
- k = (n - 1) \ 2
- For j = 0 To m - 1
- t = mas(k, j)
- mas(k, j) = mas(k + 1, j)
- mas(k + 1, j) = t
- Next
- For i = 0 To n - 1
- t = ""
- For j = 0 To m - 1
- t = t & mas(i, j) & vbTab
- Next
- Picture2.Print t
- Next
- End Sub
Листинг программы
- Dim n%, m%, mas(50, 50) As Integer, mas_tmp%(50, 50), j_max%(50, 50), j_neg%(50, 50)
- Private Sub Command2_Click()
- Open File1.Path + "\" + File1.FileName For Input As #1
- Input #1, n
- For i = 0 To n - 1
- For j = 0 To n - 1
- Input #1, mas(i, j)
- Next
- Next
- Close #1
- MSFlexGrid1.Rows = n + 1
- MSFlexGrid1.Cols = n + 1
- MSFlexGrid1.Row = 0
- For j = 0 To n
- MSFlexGrid1.Col = j
- MSFlexGrid1.ColWidth(j) = 700
- MSFlexGrid1.Text = j
- Next j
- MSFlexGrid1.Col = 0
- MSFlexGrid1.ColWidth(0) = 300
- For i = 0 To n
- MSFlexGrid1.Row = i
- MSFlexGrid1.Text = i
- Next i
- For i = 0 To n - 1
- MSFlexGrid1.Row = i + 1
- For j = 0 To n - 1
- MSFlexGrid1.Col = j + 1
- MSFlexGrid1.Text = mas(i, j)
- Next j
- Next i
- End Sub
- Private Sub Drive1_Change()
- Dir1.Path = Drive1.Drive
- End Sub
- Private Sub Dir1_Change()
- File1.Path = Dir1.Path
- End Sub
- Private Sub Command1_Click()
- k = 0
- For i = 0 To n - 1
- For j = 0 To n - 1
- mas_tmp(i - k, j) = mas(i, j)
- If mas(i, j) = 0 Then k = k + 1: Exit For
- Next
- Next
- mas = mas_tmp
- For i = 0 To n - 1 - k
- For j = 0 To n - 1
- Next
- Next
- End Sub
- MSFlexGrid2.Rows = n + 1
- MSFlexGrid2.Cols = n + 1
- MSFlexGrid2.Row = 0
- For j = 0 To n
- MSFlexGrid2.Col = j
- MSFlexGrid2.ColWidth(j) = 700
- MSFlexGrid2.Text = j
- Next j
- 'ÔîðìèðîâГ*Г*ГЁГҐ Г§Г*ãîëîâêîâ ñòðîê
- MSFlexGrid2.Col = 0
- MSFlexGrid2.ColWidth(0) = 300
- For i = 0 To n
- MSFlexGrid2.Row = i
- MSFlexGrid2.Text = i
- Next i
- For i = 0 To n - 1
- MSFlexGrid2.Row = i + 1
- For j = 0 To n - 1
- MSFlexGrid2.Col = j + 1
- MSFlexGrid2.Text = mas(i, j)
- Next j
- Next i
- End Sub
Решение задачи: «Заменить максимальный элемент по модулю каждой строки на противоположный по знаку»
textual
Листинг программы
- Dim n%, m%, mas%(), mas_tmp%(), j_max%(), j_neg%()
- Private Sub Command1_Click()
- 'Picture1.Cls
- Randomize
- n = InputBox("Введите n", , 5): m = InputBox("Введите m", , 5)
- ReDim mas(n - 1, m - 1)
- ReDim j_max(n - 1)
- For i = 0 To n - 1
- t = ""
- j_max(i) = 0
- Max = mas(i, 0)
- For j = 0 To m - 1
- mas(i, j) = Int(21 * Rnd() - 5)
- t = t & mas(i, j) & vbTab
- Next
- ' Picture1.Print t
- Next
- MSFlexGrid1.Rows = m: MSFlexGrid1.Cols = n: MSFlexGrid1.Clear
- For i = 1 To n - 1
- MSFlexGrid1.ColWidth(i) = 500
- Next i
- For i = 1 To n - 1
- For j = 1 To m - 1
- MSFlexGrid1.TextMatrix(i, j) = mas(i, j)
- Next
- Next
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д