Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Другие темы раздела
VBA Создать какой-нибудь макрос для таблиц в Excel https://www.cyberforum.ru/ vba/ thread747399.html
Надо создать макрос какой нибудь интересный и вполне сложный . для таблиц . и понятия не имею что делать в нем . Помогите пожалуйста.
Найти среднее геометрическое значение массива VBA
Дали задание создать программы в VBA. Сам не могу. Не отказусь от help. 1.Ввести массив А(N). Найти среднее геометрическое значение массива. Нечетные элементы заменить на среднее геометрическое....
VBA Сделать блок-схему: у всех отрицательных элементов матрицы заменить знак на обратный
Мне нужна блок-схема алгоритма по следующему заданию: В матрице В(7,5) у всех отрицательных элементов заменить знак на обратный, подсчитать количество нулей в каждой строке. Добавлено через 13...
VBA Вычислить сумму n первых членов арифметической прогрессии Создать пользовательскую форму (Userform), содержащую: 3 поля для ввода (TextBox): 1)первый член арифметической прогрессии a1, 2)d - шаг фрифм. прогрессии, 3)n - число элементов фрифм.... https://www.cyberforum.ru/ vba/ thread747164.html
VBA Как получить данные из таблицы Word https://www.cyberforum.ru/ vba/ thread747160.html
Имеется файл Word. В этом файле имеется таблица(4 на 3). Нужно перенести эти данные в Excel и решить матрицу(матрицу уже решать с помощью функций EXCEL, а не на VBA). Помогите пожалуйста! Вся...
VBA Ошибка в Scripting.runtime на определенных ПК
Доброго времени суток! Подскажите, пожалуйста: есть код, использующий Scripting.FileSystemObject. На одних компах работает нормально (на работе). Но на моем при создании собственно FileSystemObject...
VBA Ошибка Type mismatch при работе с макросом под другим пользователем
Здравствуйте всем!!! у меня такая проблема: есть макрос обрабатывающий отчет. Захожу в систему под одним пользователем - он работает. Захожу под другим - макрос не работает и выдает ошибку: Run-time...
VBA Что делает команда Application.DisplayAlerts Здравствуйте. Вообщем, у меня на кнопке удаления страницы графика с екселя записана команда: Application.DisplayAlerts=false charts.delete Application.DisplayAlerts=true Объясните... https://www.cyberforum.ru/ vba/ thread746928.html
VBA Нужно сделать выборку для Excel и ненужное удалить https://www.cyberforum.ru/ vba/ thread746808.html
Ребята нужна помощь, очень очень надо :cry: есть файл с табличными данными данными ну нужно сделать выборку и нужные данные оставить а остальное удалить выборку можно сделать колонке А во...
VBA Перевести код с Pascal var mas : array of array of integer; n, m, i, j, min :integer; begin readln (n, m); setlength(mas, n , m ); for i := 0 to n - 1 do begin for J := 0 to m - 2 do ... https://www.cyberforum.ru/ vba/ thread746653.html
5456 / 1136 / 50
Регистрация: 15.09.2012
Сообщений: 3,442
27.12.2012, 09:27 0

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

27.12.2012, 09:27. Просмотров 1921. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2012, 09:27
Готовые ответы и решения:

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

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

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

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

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