Двумерный массив: выполнение плана выпуска продукции каждым из N предприятий по каждому из M наименований продукции - VB

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

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

Очень нужно помочь с задачей. Исходные данные: выполнение плана выпуска продукции каждым из N предприятий по каждому из M наименований продукции, в процентах. А. Выдать справку о предприятиях, для которых среднее арифметическое значение выполнения плана выпуска продукции меньше общего среднего арифметического значения. Б. Для каждого наименования продукции определить среднее арифметическое значение выполнения плана. Код не совсем правильный. Нужен полностью исправленный код.

Решение задачи: «Двумерный массив: выполнение плана выпуска продукции каждым из N предприятий по каждому из M наименований продукции»

textual
Листинг программы
Sub nn()
Cells.Clear
Dim i As Byte, j As Byte
m = InputBox("m=", "Количество строк", 5)
n = InputBox("n=", "Количество столбцов", 5)
ReDim A(1 To m, 1 To n) As Integer
 fls_rows = m + 1 'число строк в сетке, включая строку заголовка
 fls_cols = n + 1 'число столбцов в сетке, включая строку заголовка
 
           For i = 2 To fls_rows
              Cells(i, 1) = "Пред. " & i - 1
           Next i
           
            For i = 2 To fls_cols
             Cells(1, i) = "Наимен." & i - 1
           Next i
Randomize
'A
Cells(1, fls_cols + 1) = "Ср.пр.пред."
          For i = 1 To m
          sum_pr = 0
            For j = 1 To n
               A(i, j) = Int(Rnd * 100)
               Cells(i + 1, j + 1) = A(i, j)
               summ = summ + A(i, j)
               sum_pr = sum_pr + A(i, j)
            Next j
            Cells(i + 1, fls_cols + 1) = sum_pr / n
          Next i
Cells(fls_rows + 2, 1) = "Средняя производительность=" & summ / (n * m)
Cells(fls_rows + 3, 1) = "Список предприятий < среднего"
For i = 1 To m
If Cells(i + 1, fls_cols + 1) < summ / (n * m) Then
k = k + 1
Cells(fls_rows + 3 + k, 1) = Cells(i + 1, 1)
Cells(fls_rows + 3 + k, 2) = Cells(i + 1, fls_cols + 1)
End If
Next
'B
Cells(fls_rows + 1, 1) = "Ср.пр.наим."
          For j = 1 To n
          sum_pr = 0
            For i = 1 To m
               sum_pr = sum_pr + A(i, j)
            Next i
            Cells(fls_rows + 1, j + 1) = sum_pr / m
          Next j
End Sub

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


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

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

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