Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

Написать программу в VBA. Заданы массивы А(40,40), В(20,20) и С(30,30).Для каждого из заданных массивов определить количество элементов в строке

10-11 класс

превышающих среднее арифметическое значение элементов массива

Wilson1990 21 сент. 2013 г., 15:13:54 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Vasilisyshkalove
21 сент. 2013 г., 16:20:35 (10 лет назад)

Option Explicit

Function Mean2(A As Variant) As Double
    'Возвращает среднее арифметическое элементов двухмерного массива
    Dim i As Integer, j As Integer, S As Variant, n As Integer
    S = 0
    For i = LBound(A, 1) To UBound(A, 1)
        For j = LBound(A, 2) To UBound(A, 2)
            S = S + A(i, j)
        Next j
    Next i
    n = (UBound(A, 1) - LBound(A, 1) + 1) * (UBound(A, 2) - LBound(A, 1) + 1)
    Mean2 = S / n
End Function

Sub InitMas2(A As Variant, amin As Variant, amax As Variant)
    'Инициализирует элементы двухмерного массива датчиком случайных чисел
    'amin и amax задают диапазон часел для инициализации
    Dim i As Integer, j As Integer, typ As Integer, ik As Integer, rk As Single
    Dim imin As Integer, jmin As Integer, imax As Integer, jmax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    jmin = LBound(A, 2)
    jmax = UBound(A, 2)
    typ = VarType(A) - 8192
    Select Case typ
    Case 2, 3, 17
        ik = Int(amax - amin + 1)
        For i = imin To imax
            For j = jmin To jmax
                A(i, j) = Int(Rnd * ik + amin)
            Next j
        Next i
    Case Else
        rk = amax - amin + 1
        For i = imin To imax
            For j = jmin To jmax
                A(i, j) = Rnd * rk + amin
            Next j
        Next i
    End Select
End Sub

Sub OutMas(A As Variant, prow As Integer, pcol As Integer)
    'Размещает элементы одномерного массива на текущем листе рабочей книги
    'Ячейка в левом верхнем углу имеет адрес (prow,pcol)
    'Размещение идет по колонке
    Dim i As Integer, ic As Integer
    Dim imin As Integer, imax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    ic = prow
    For i = imin To imax
        Cells(ic, pcol).Value = A(i)
        ic = ic + 1
    Next i
End Sub

Sub OutMas2(A As Variant, prow As Integer, pcol As Integer)
    'Размещает элементы двухмерного массива на текущем листе рабочей книги
    'Ячейка в левом верхнем углу имеет адрес (prow,pcol)
    Dim i As Integer, j As Integer, ic As Integer, jc As Integer
    Dim imin As Integer, jmin As Integer, imax As Integer, jmax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    jmin = LBound(A, 2)
    jmax = UBound(A, 2)
    ic = prow
    For i = imin To imax
        jc = pcol
        For j = jmin To jmax
            Cells(ic, jc).Value = A(i, j)
            jc = jc + 1
        Next j
        ic = ic + 1
    Next i
End Sub

Sub NumElems2(A As Variant, B() As Integer, pm As Double)
    ' Находит в каждой строке двухмерного массива а количество элементов,
    ' превышающих среднее арифметическое всех элементов этого массива pm
    ' и помещает это количство в одномерный массив b.
    Dim i As Integer, j As Integer, kol As Integer
    Dim imin As Integer, jmin As Integer, imax As Integer, jmax As Integer
    imin = LBound(A, 1)
    imax = UBound(A, 1)
    jmin = LBound(A, 2)
    jmax = UBound(A, 2)
    For i = imin To imax
        kol = 0
        For j = jmin To jmax
            If A(i, j) > pm Then kol = kol + 1
        Next j
        B(i) = kol
    Next i
End Sub

Sub main()
    Const m = 40, n = 20, p = 30
    Dim A(1 To m, 1 To m) As Integer, R(1 To m) As Integer
    Dim B(1 To n, 1 To n) As Single, S(1 To n) As Integer
    Dim C(1 To p, 1 To p) As Integer, T(1 To p) As Integer
    Dim i As Integer, mm As Double
    Randomize Timer
    InitMas2 A, -1000, 1000
    OutMas2 A, 1, 1
    mm = Mean2(A)
    NumElems2 A, R, mm
    OutMas R, 1, m + 2
   
    InitMas2 B, 0, 1800
    OutMas2 B, 42, 1
    mm = Mean2(B)
    NumElems2 B, S, mm
    OutMas S, 42, n + 2
   
    InitMas2 C, -1200, 800
    OutMas2 C, 63, 1
    mm = Mean2(C)
    NumElems2 C, T, mm
    OutMas T, 63, p + 2
End Sub

Особенность программы: позволяет работать с массивами любых допустимых числовых типов. Размер массивов фактически ограничен только размером свободной оперативной памяти компьютера.

Для запуска не забудьте разрешить исполнение макросы на уровне безопасности не выше "Средний" и дать доверенный доступ к проектам VBA.

+ 0 -
Olechka1732
21 сент. 2013 г., 16:55:47 (10 лет назад)

Комментарий удален

+ 0 -
Брилианта
21 сент. 2013 г., 18:02:12 (10 лет назад)

Комментарий удален

+ 0 -
Pronina092003
21 сент. 2013 г., 19:00:22 (10 лет назад)

Комментарий удален

+ 0 -
Vovano
21 сент. 2013 г., 20:17:51 (10 лет назад)

Комментарий удален

+ 0 -
XD46573
21 сент. 2013 г., 22:40:09 (10 лет назад)

Комментарий удален

Ответить

Другие вопросы из категории

1. Red Hat это:

а)База данных
б)Операционная система
в)Система управления базами данных

2.Какое сетевое соединение предоставляет большую скорость передачи данных?
а)ADSL
б)WI-FI
в)GPON

3. Рассчитайте объем стереоаудиофайла длительностью 20с при 16-битном кодировании и частоте дискретизации 32кГц
а)2500кбайт
б)125кбайт
в)1250кбайт

Вопрос:Компьютер может управлять Варианты ответов:техническими устройствами,обществом и группами людей,неживыми объектами,самим собой,полётом ракет и

самолётов,звёздами и планетами, подводной лодкой, живыми объектами, предприятиями и организациями. помогите с вариантами

Топология, при которой все компьютеры последовательно попарно соединяются друг с другом, образуя замкнутый контур

1) Кольцевая

2) Шинная

3) Последовательная

4) Дуальная

5) Звездообразная

Читайте также

Составить программу на языке Паскаль: 1)Для массива K из 12 вещественных чисел определить сколько элементов массива меньше 0. 2)В массиве М из 10 целых

чисел найти количество элементов равных 3. 3)В массиве из 8 целых найти номер массива с наибольшим значением. 4)В массиве из 12 целых чисел найти количество и сумму элементов, расположенных до максимального элемента. 5)Для массива из 15 вещественных подсчитать количество элементов массива меньших суммы первого и последнего элементов массива.

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

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

написать программу на Assembler

добрый вечер, всем. помогите, пожалуйста, написать программу на Ассемблере.

задание:
Создать программу на языке Ассемблер, что позволяет организовать вычисления над элементами массивов

Объединить два массива 8-битных целых чисел со знаком. Сначала элементы второго затем первого.

заранее огромное спасибо всем!

дан массив из семи элементов написать программу подсчитывающую

среднее второго и предпоследнего элементов массива
дан целочисленный
массив из 10 элементов написать программу находящую сумму элементов
массива красных 3 ил 5
дан целочисленный массив из 30 ти элементов
написать программу которая позволяет найти среднее арифметическое
положительных элементов массива

1) Написать программу для вычисления суммы цифр пятизначного числа , введенного с клавиатура

2) Заданы действительные числа a , b , c и d . Написать программу нахождения полусуммы наименьшего и наибольшего из них.
3) Написать программу для вычисления суммы цифр числа , введенного с клавиатуры

Помогите прошу



Вы находитесь на странице вопроса "Написать программу в VBA. Заданы массивы А(40,40), В(20,20) и С(30,30).Для каждого из заданных массивов определить количество элементов в строке", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.