В заданном массиве найти сумму и количество положительных элементов в каждой строке матрицы. Вывести исходный - VBA
Формулировка задачи:
(6.3 36 0 )
(-0.23 63 -9 )
( 8 -8 65 )
(-1.1 60 0.8)
В заданном массиве найти сумму и количество положительных элементов в каждой строке матрицы. Вывести исходный массив и полученные результаты.
Помогите пожалуйста.
Решение задачи: «В заданном массиве найти сумму и количество положительных элементов в каждой строке матрицы. Вывести исходный»
textual
Листинг программы
Sub Массив1() Dim Summ As Single Dim i, j, b, M, N, Kolvo As Integer Dim Stroka_1, Stroka, Element As String N = InputBox("N: ", "Введите кол-во строк") M = InputBox("M: ", "Введите кол-во столбцов") ReDim a(N, M + 2) As Single ' задаём размер массива и прибавляем два столбца для вычисляемых значений Range("A2", Cells(2, M + 2)).Value = Array("Элементы массива:", , , "Сумма положительных эл-тов", "Кол-во положительных эл-тов") 'Заголовок массива Range("B2", Cells(2, M + 2)).WrapText = True ' Задаём свойство "вписать текст" для заголовка '---------Вводим эл-ты массива по строкам: For i = 1 To N Stroka_1 = InputBox("Введите через пробел элементы строки №" & i, "Ввод элементов массива") ' получаем строку элементов Stroka = Replace(Stroka_1, ".", ",") ' заменяем точку на зпт, иначе не распознает число '-- цикл для выборки из строки элементов массива j = 1 For b = 1 To Len(Stroka) If Mid(Stroka, b, 1) <> " " Then ' перебираем символы строки и если пробел - отделяем элемент Element = Element + Mid(Stroka, b, 1) Else: a(i, j) = Element ' получаем элемент массива Element = "" Cells(i + 4, j) = a(i, j) 'выводим эл-т массива на экран j = j + 1 End If Next a(i, j) = Element ' блок для последнего эл-та строки Element = "" Cells(i + 4, j) = a(i, j) j = 0 ' к этому моменту сформирована и выведена на экран строка массива ' теперь добавляем вычисляемые значения суммы и кол-ва положительных элементов: Summ = 0 Kolvo = 0 For j = 1 To M If a(i, j) > 0 Then Summ = Summ + a(i, j) ' накапливаем сумму положительных Kolvo = Kolvo + 1 ' накапливаем количество положительных End If Next Cells(i + 4, j) = WorksheetFunction.Round(Summ, 2) ' выводим в следующую ячейку сумму с округлением до 2 знаков Cells(i + 4, j + 1) = Kolvo 'выводим колчество Next End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д