В заданном массиве найти сумму и количество положительных элементов в каждой строке матрицы. Вывести исходный - 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

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


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

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

9   голосов , оценка 3.889 из 5
Похожие ответы