Вычисления в прямоугольной матрице - VB
Формулировка задачи:
Добрый вечер !Нужна ваша помощь!
Дана целочисленная прямоугольная матрица. Вычислить:
1)минимальный по модулю элемент массива;
2)сумму модулей элементов , расположенных после первого элемента ,равному нулю.
3)Преобразовать массив таким образом , чтобы в первой его половине распологались элементы , стоявшее в четных позициях , а во второй половине - элементы , стоявшее в нечетных позициях.
похожая тема есть здесь:
но там нужно вычислить в одномерном массиве состоявшим из n целочисленных элементов, а у меня в прямоугольной матрице
Помогите пожалуйста понять разницу
Решение задачи: «Вычисления в прямоугольной матрице»
textual
Листинг программы
Sub Stavr1992() Dim i%, j%, N%, M%, Min%, A() Dim K%, R%, Sum%, D%, E%, t% Cells.Clear N = Int(InputBox("Введите количество строк", "Ввод данных", 6)) M = Int(InputBox("Введите количество столцов", "Ввод данных", 5)) ReDim A(1 To N, 1 To M) For i = 1 To N For j = 1 To M Cells(i, j) = Int((20 * Rnd) + (-10)) Next j Next i Min = Abs(Cells(1, 1)) For i = 1 To N For j = 1 To M If Abs(Cells(i, j)) <= Min And Abs(Cells(i, j)) <> 0 Then Min = Abs(Cells(i, j)) End If Next j Next i Cells(N + 2, 5) = Min Cells(N + 2, 1) = " Минимальн. по модулю эл-т: Min = " K = 0: R = 0: Sum = i + j For i = 1 To N For j = 1 To M If Cells(i, j) = 0 And Cells(i, j) < Sum Then K = i R = j End If Next j Next i Cells(N + 3, 5) = K Cells(N + 3, 1) = " Минимальн. по Sum эл-т: i = " Cells(N + 4, 5) = R Cells(N + 4, 1) = " Минимальн. по Sum эл-т: j = " D = 0 For i = K To UBound(A) For j = R To M If Cells(i, j) <> 0 Then D = D + Cells(i, j) End If Next j Next i Cells(N + 5, 5) = D Cells(N + 5, 1) = " Сумма после 1-го нуля: D = " 'сделал самую быструю сортировку 'возможно ошибаюсь, ребята подскажите: как верно? E = Cells((i + j) \ 2) Do While Cells(i) < E: i = i + 1: Wend While Cells(j) < E: j = j - 1: Wend If i <= j Then t = Cells(i): Cells(i) = Cells(j): Cells(j) = t i = i + 1: j = j - 1 End If Loop While i <= j End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д