Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/37: Рейтинг темы: голосов - 37, средняя оценка - 4.81
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115

Для заданного массива А(4,6) вычислить среднее арифметическое значение положительных элементов каждой строки

13.04.2013, 22:33. Показов 7801. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для заданных условий составить процедуру и придумать несколько наборов тестовых данных для отладки. Возможно использование, как статических массивов, так и динамических Ввод исходных данных осуществить из файла или с клавиатуры. Предусмотреть вывод результата в файл или на лист рабочей книги Excel.

3. Для заданного массива А(4,6) вычислить среднее арифметическое значение положительных элементов каждой строки. Результаты поместить в одномерный массив В(4). Известно, что в каждой строке массива хотя бы один элемент имеет положи-тельное значение.


ПРИМЕР
Вычислить сумму и среднее арифметическое всех элементов массива A(M, N)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub InputArray5() 
'******************************************************* 
' Заполнить двумерный массив при помощи датчика случайных чи-
'сел. Вычислить сумму и среднее арифметическое всех'элементов 
'******************************************************* 
Dim A() As Variant 
Dim strMes As String 
Title = "Заполнение двумерного массива" Randomize 
M = InputBox("Число строк массива", Title) 
N = InputBox("Число строк массива", Title) 
ReDim A(1 To M, 1 To N) 
For i = 1 To M 
For j = 1 To N 
ArrayValue = 100 - Int((200 * Rnd) + 1) 
A(i, j) = ArrayValue 
Next j 
Next i 
Sum = 0 
For i = 1 To M 
For j = 1 To N 
Sum = Sum + A(i, j) 
msgString = msgString & A(i, j) & ", " 
Next j 
msgString = msgString & Chr(13)
Next i 
MsgBox "Массив А:" & Chr(13) & msgString, , "Вывод массива" mA = Sum / (M * N) 
MsgBox "Массив А:" & Chr(13) & "Сумма элементов = " & Sum & Chr(13) & "Среднее арифметическое = " 
& mA, , "Вывод массива" 
End Sub
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2013, 22:33
Ответы с готовыми решениями:

Вычислить среднее арифметическое значение положительных элементов каждой строки матрицы
нуждаюсь в помощи , кому не сложно помогите пожалуйста 1) для заданного массива А(4,6) вычислить среднее арифметическое значение...

Вычислить среднее арифметическое значение положительных элементов
Заданы массивы Y(4,4) и Z(8,8). Для каждого из них вычислить среднее арифметическое значение положительных элементов, расположенных выше...

Вычислить среднее арифметическое положительных элементов массива
Приветствую, помогите пожайлуйста с программой: "Вычислить среднее арифметическое положительных элементов массива."

18
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
14.04.2013, 12:03
А что смущает Вас в Вашем примере?
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 15:32  [ТС]
Цитата Сообщение от Igor_Tr Посмотреть сообщение
А что смущает Вас в Вашем примере?
Я вообще ни бум - бум в вба , буду очень благодарен если напишите программу для моей задачи!
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
14.04.2013, 15:37
А откуда пример? Не проверял, но на первый взгляд он рабочий.
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 17:00  [ТС]
Цитата Сообщение от Igor_Tr Посмотреть сообщение
А откуда пример? Не проверял, но на первый взгляд он рабочий.
Ну у меня же задание немного друго, что значит массив А ( 4, 6 ) как его задать? Будь человеком напиши именно под мое задание! Там же у меня в задании всех положительных элементов, и вывести это все в массиве
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
14.04.2013, 17:45
Да тут на форуме от таких примеров - глаза разбегаются. Забейте в поск что Вам нужно (но возьмите в кавычки " "). Не получится - что-то попробуем.
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 17:51  [ТС]
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Да тут на форуме от таких примеров - глаза разбегаются. Забейте в поск что Вам нужно (но возьмите в кавычки " "). Не получится - что-то попробуем.
Вот нашел но она не работает ...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub P1()
Dim a(4, 6) As Double, B(4) As Double
Dim i As Long, j As Long
Dim Сумма As Double, Кол As Long
'Заполняем массив из Excel.
For i = 0 To 4 Step 1
    For j = 0 To 6 Step 1
        a(i, j) = Cells(i + 1, j + 1).Value
    Next j
Next i
'Обработка массива.
For i = 0 To 4 Step 1
    For j = 0 To 6 Step 1
        If a(i, j) > 0 Then
            Сумма = Сумма + a(i, j)
            Кол = Кол + 1
        End If
    Next j
    B(i) = Сумма / Кол
    Сумма = 0
    Кол = 0
Next i
'Выводим массив B в Excel на др. лист.
For i = 0 To 4 Step 1
    Worksheets(2).Cells(i + 1, 1).Value = B(i)
Next i
End Sub
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
14.04.2013, 17:57
Ладно, мне тут одна темка интересна попалась, потом посмотрим вместе.
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 17:58  [ТС]
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Ладно, мне тут одна темка интересна попалась, потом посмотрим вместе.
Так ты мне поможеш или нет? с этой программой?
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
14.04.2013, 18:04
потом посмотрим вместе.
Это мне английский продублировать?
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 18:07  [ТС]
Цитата Сообщение от Igor_Tr Посмотреть сообщение
Это мне английский продублировать?
Спасибо заренне! А как долго " потом " ?
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
14.04.2013, 18:29
Цитата Сообщение от Stepan_94_29 Посмотреть сообщение
что значит массив А ( 4, 6 ) как его задать?
Почитайте букварь какой-нибудь отсюда: Учебники, справочники, самоучители
Или хотя бы эту тему: Массивы. Обьявление массивов. Сортировка массивов
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 19:03  [ТС]
Цитата Сообщение от Казанский Посмотреть сообщение
Почитайте букварь какой-нибудь отсюда: Учебники, справочники, самоучители
Или хотя бы эту тему: Массивы. Обьявление массивов. Сортировка массивов
Можете помоч исправить программу, почему то не работает.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub P1()
Dim a(4, 6) As Double, B(4) As Double
Dim i As Long, j As Long
Dim Сумма As Double, Кол As Long
'Заполняем массив из Excel.
For i = 0 To 4 Step 1
    For j = 0 To 6 Step 1
        a(i, j) = Cells(i + 1, j + 1).Value
    Next j
Next i
'Обработка массива.
For i = 0 To 4 Step 1
    For j = 0 To 6 Step 1
        If a(i, j) > 0 Then
            Сумма = Сумма + a(i, j)
            Кол = Кол + 1
        End If
    Next j
    B(i) = Сумма / Кол
    Сумма = 0
    Кол = 0
Next i
'Выводим массив B в Excel на др. лист.
For i = 0 To 4 Step 1
    Worksheets(2).Cells(i + 1, 1).Value = B(i)
Next i
End Sub
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
14.04.2013, 19:56
Здравствуйте, Stepan_94_29,
Внес поправки в приведенную вами программу. Проверьте - работает ли?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub P1()
    Dim A(3, 5) As Double, B(3) As Variant
    Dim i As Long, j As Long
    Dim Ñóììà As Double, Êîë As Long
    'Çàïîëíÿåì ìàññèâ äàííûìè èç Excel.
    For i = 0 To 3
        For j = 0 To 5
            A(i, j) = Sheets(1).Cells(i + 1, j + 1)
        Next j
    Next i
    'Îáðàáîòêà ìàññèâà.
    For i = 0 To 3
        For j = 0 To 5
            If A(i, j) > 0 Then
                Ñóììà = Ñóììà + A(i, j)
                Êîë = Êîë + 1
            End If
        Next j
        If Êîë > 0 Then B(i) = Ñóììà / Êîë Else B(i) = "Íå îïðåäåëåíî."
        Ñóììà = 0
        Êîë = 0
    Next i
    'Âûâîäèì ìàññèâ B â Excel íà äð. ëèñò.
    If ActiveWorkbook.Worksheets.Count < 2 Then
        MsgBox "Íåêóäà âûâîäèòü äàííûå: â êíèãå òîëüêî îäèí ëèñò."
    Else
        For i = 0 To 3
            Sheets(2).Cells(i + 1, 1) = B(i)
        Next i
        Sheets(2).Activate
    End If
End Sub
С уважением,
Aksima
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 20:00  [ТС]
Нет не работает, 4 ответа не определено выдает. А и еще как сделать так что бы я видел исходный массив ( а лучше как сделать так что бы я его сам набирал) ? АААА или мне нужно на первом листе эксела набить этот массив ?
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
14.04.2013, 20:06
Исходный массив вы вводите (и видите) на первом листе книги Excel в диапазоне от A1 до F6 (т.е. вы вводите массив данных из 4 строк и 6 столбцов)
После набора массива - запустите программу еще раз.

С уважением,
Aksima
1
10 / 10 / 2
Регистрация: 10.02.2011
Сообщений: 115
14.04.2013, 20:48  [ТС]
Цитата Сообщение от Aksima Посмотреть сообщение
Исходный массив вы вводите (и видите) на первом листе книги Excel в диапазоне от A1 до F6 (т.е. вы вводите массив данных из 4 строк и 6 столбцов)
После набора массива - запустите программу еще раз.

С уважением,
Aksima
Извините , а вот вывести в одномерном массиве В (4) это как?

Сейчас все работает , спасибо огромное! Только выводится он в первом столбце А .

Добавлено через 37 минут
Цитата Сообщение от Aksima Посмотреть сообщение
Исходный массив вы вводите (и видите) на первом листе книги Excel в диапазоне от A1 до F6 (т.е. вы вводите массив данных из 4 строк и 6 столбцов)
После набора массива - запустите программу еще раз.

С уважением,
Aksima
Аааа я все понял ))) массив В (4) это столбец с четырьмя элементами! Спасибо Вам огромное!
0
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 7
17.10.2013, 16:40
Прошу помощи! Найти среднее арифметическое элементов ДВУМЕРНОГО массива. В коде видимо есть ошибка
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Function МАТРИЦА(x As Range) As Variant
Dim a()
Dim Sum As Integer, Sar As Integer 'где Sum сумма,Sar-среднее арифметическое
 
n = Selection.Rows.Count 'считает кол-тво строк
m = Selection.Columns.Count 'считает кол-тво столбцов
ReDim a(m - 1, n - 1) 'чтобы матрица начиналась с 1 ,а не с 0
Sum = 0
For i = 1 To n
For j = 1 To m
Sum = Sum + a(i, j) ' сумма эт-тов матрицы
Next j
Next i
Sar = Sum / (m * n) 'среднее арифметич.
Cells(7, 9) = Sar ' результат выводит в ячейку
End Function
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
17.10.2013, 20:44
Сходу выловить не так просто по несколько причинам.
Вы передаете массив как значения диапазона. А в этом диапазоне они (значения) есть? Вы уверены?
А загнать в массив диапазон проще так, (без всяких Redim): a=x.value
В этом:
n = Selection.Rows.Count 'считает кол-тво строк
m = Selection.Columns.Count 'считает кол-тво столбцов

все правильно. Получили колл-во строк и столбцов ДИАПАЗОНА. А дальше - ничего не пойму. Даже арифметика для начинающих не работает.
ReDim a(m - 1, n - 1) 'чтобы матрица начиналась с 1 ,а не с 0
Нужно:
ReDim a(1 to n, 1 to m)
И здесь:
Sar = Sum / (m * n) 'среднее арифметич.
Попробуйте поменять тип:
dim Sar as double.
А ну получится?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2013, 20:44
Помогаю со студенческими работами здесь

Вычислить среднее значение Xср и дисперсию dx для заданного массива X(k) наблюдений
Доброго времени суток, очень нуждаюсь в помощи решения задачи Вычислить среднее значение Xср и дисперсию dx для заданного массива...

Вычислить суммы положительных элементов каждой строки для двух матриц
вычислить суммы положительных элементов каждой строки для матриц a(10,12) и b(15,10) вот тут написано у меня,ошибку выдает, нужно...

Найти среднее арифметическое положительных элементов массива
Задание: Данно массив А (n). Найти среднее арифметическое положительных элементов массива. Есть подобный пример, Данно массив A (n)....

Вычислить сумму, количество и среднее арифметическое положительных элементов матрицы
В каждой строке заданной матрицы A (M;N) вычислить сумму количество и среднее арифметическое положительных элементов решение. Заранее...

Найти среднее арифметическое положительных и отрицательных элементов массива R1 и R2
Даны массив Xi, i = 1, ..., 15. Найти среднее арифметическое положительных и отрицательных элементов массива R1 и R2. Определить, какое из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru