Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 4
1

Найти произведение тех элементов, значение которых меньше среднего арифметического элементов массива

27.12.2012, 00:43. Просмотров 1887. Ответов 2
Метки нет (Все метки)

Дан одномерный массивW, содержащийM элементов. Найти произведе-ние тех элементов, значение которых меньше среднего арифметического элементов массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2012, 00:43
Ответы с готовыми решениями:

Удалить все четные элементы, имеющие значение больше среднего арифметического всех элементов массива
Удалить все четные элементы, имеющие значение больше среднего арифметического всех элементов...

Найти в каждом столбце количество элементов, меньших среднего арифметического значения всех элементов
Помогите, пожалуйста.

Найти количество элементов, значение которых меньше 0
Помогите пожалуйста с задачей в VBA Excel, В диапазоне A1,D4 имеются числовые данные. Найти...

В каждой строке матрицы найти количество элементов,меньших среднего арифметического всех элементов этой строки
2) Дана матрица размера MxN. В каждой ее строке найти количество элементов,меньших среднего...

2
5455 / 1135 / 50
Регистрация: 15.09.2012
Сообщений: 3,441
27.12.2012, 09:27 2
Перед запуском кода, создайте новую книгу Excel.

Код:
Кликните здесь для просмотра всего текста
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Sub Procedure_1()
 
    'Создаём массив "W".
    'Long означает, что в массиве "W" могут быть только целые числа.
    Dim W() As Long
    
    'Создаём различные переменные.
    Dim M As Long
    Dim Sum As Long
    
    'Double означает, что в переменной могут быть
    'как целые, так и дробные числа.
    Dim dAverage As Double
    
    'Переменная "dProduct" будет сохранять результы умножения чисел.
    'В данном случае Double я выбрал, потому что Double позволяет сохранять
    'числа 15-значные, а Long - только 10-значные.
    'А при умножении чисел могут возникнуть очень большие числа.
    Dim dProduct As Double
    
    Dim i As Long
    
    'Т.к. массив будем выводить в Excel, чтобы
    'смотреть, что он из себя представляет, то очищаем
    'активный лист от предыдущих данных.
    ActiveSheet.UsedRange.Clear
    
    'С помощью "InputBox" помещаем в переменную "M"
    'число, которое будет означать - количество элементов в массиве "W".
    M = InputBox("Сколько элементов будет в массиве W?")
    
    'Разбиваем массив "W" на элементы, чтобы затем
    'в элементы поместить числа.
    '"1 To" - используется, чтобы порядковый номер первого элемента
    'в массиве был один, а не ноль (ноль по умолчанию), чтобы
    'было удобно писать код.
    ReDim W(1 To M)
    
    'Заполняем массив числами, чтобы было с чем работать.
    'Чтобы числа не выдумывать, можно создавать числа
    'с помощью "Rnd".
    'For ... To ... Step ... Next - называется циклом
    'и используется, чтобы делать одно и то же действие
    'несколько раз.
    For i = 1 To M Step 1
        'Генерирую случайные целые числа от 1 до 5.
        W(i) = Int((5 - 1 + 1) * Rnd) + 1
    Next i
    
    'Чтобы иметь представление, что у нас за массив,
    'выводим массив на активный лист Excel.
    For i = 1 To M Step 1
        Cells(i, "A").Value = W(i)
    Next i
    
    'Находим среднее арифметическое элементов массива.
    '1. Сначала находим сумму элементов.
    For i = 1 To M Step 1
        Sum = Sum + W(i)
    Next i
    '2. Затем находим среднее арифметическое.
    dAverage = Sum / M
    
    'Найти произведение тех элементов, значение которых меньше
    'среднего арифметического элементов массива.
    'Присваиваем переменной "dProduct" число 1, т.к.
    'в ней содержится ноль, а при умножении на ноль всегда будет ноль.
    dProduct = 1
    For i = 1 To M Step 1
        'If ... Then ... End If - используется для выбора действия.
        'Если элемент меньше среднего.
        If W(i) < dAverage Then
            dProduct = dProduct * W(i)
        End If
    Next i
    
    'С помощью "MsgBox" выводим на монитор результат.
    MsgBox "Результат: " & dProduct
    
End Sub
2
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 4
27.12.2012, 10:52  [ТС] 3
Спасибо большое)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2012, 10:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Пользовательская функция: определение номеров элементов массива, значение которых на 20% выше среднего
Добрый вечер, прошу помощи с пользовательской функцией. Я новичок в VBA, и никак не могу...

Сформировать массив С из отрицательных элементов массива В и элементов массива А, значения которых меньше 8
Помогите, пожалуйста, решить: Даны два одномерных массива А(n) и B(n). Сформировать массив С из...

Найти произведение элементов массива, у которых индекс не четен
Дан одномерный массив М(20). Написать программу, которая находит произведение элементов массива, у...

Найти произведение нечетных номеров элементов массива, значения которых принадлежит интервалу
Люди, помогите написать программу, очень срочно!!!!((((((((( Дан массив А(n), найти произведение...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.