Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Sub ZadanieААА() 'Розыгрыш и обработка двумерного массива целых чисел
Dim A(4, 3) As Integer 'Объявление двумерного массива целых чисел Dim i%, j%, Sctr%, Sstolb%, Sum%, kol%, diag%,diagTop%, diagDown% 'Объявление переменных типа Integer Debug.Print "=================Элементы массива (матрицы)" Randomize 'оператор, который запускает начальное значение случайных чисел 'РОЗЫГРЫШ И ПЕЧАТЬ МАССИВА For i = 1 To 4 For j = 1 To 3 A(i, j) = Rnd * 20 – 10 'целые числа от -10 до 10 Debug.Print A(i, j); 'печать всех элементов строки массива в одной строке 'если не поставить знак «;» - точка с запятой -, то печать элементов массива будет в столбик.!!! Next j Debug.Print 'переход на новую строку для печати очередной строки массива Next i Debug.Print "=======================" 'СУММИРОВАНИЕ СТРОК МАССИВА For i = 1 To 4 'от первой до четвертой строки à по всем строкам Sctr =0 'обнуление суммы очередной (i-той) строки For j = 1 To 3 'проход по всем элементам текущей строки Sctr = Sctr + A(i, j) 'и суммирование этих элементов Next j Debug.Print "сумма "; i; "-й строки= "; Sctr 'печать суммы очередной (i-той) строки Next i Debug.Print "=======================" 'СУММИРОВАНИЕ НЕЧЕТНЫХ СТОЛБЦОВ МАССИВА For j = 1 To 3 Step 2 'только нечетные столбцы!!!! Sstolb = 0 'обнуление суммы столбца For i = 1 To 4 'проход по всем элементам текущего (нечетного) столбца Sstolb = Sstolb + A(i, j) 'и суммирование этих элементов Next i Debug.Print "сумма "; j; "-го столбца = "; Sstolb Next j Debug.Print "=======================" Sum = 0: kol = 0: diag = 0: diagTop = 0: diagDown = 0 'обнуление вычисляемых переменных For i = 1 To 4 For j = 1 To 3 Sum = Sum + A(i, j) 'суммирование ВСЕХ ЭЛЕМЕНТОВ массива IfA(i, j) >0 Then kol=kol+1 'суммирование КОЛИЧЕСТВА ПОЛОЖИТЕЛЬНЫХ чисел массива If i = j Then diag = diag + A(i, j) 'суммирование элементов ГЛАВНОЙ ДИАГОНАЛИ массива If j > i Then diagTop = diagTop + A(i, j) 'сумма над гл.диагональю If i > j Then diagDown = diagDown + A(i, j) 'сумма под гл.диагональю Next j Next i Debug.Print "общая сумма = "; Sum; " положительных чисел = "; kol Debug.Print "сумма главной диагонали массива = "; diag Debug.Print "сумма над гл.диагональю = "; diagTop Debug.Print "сумма под гл.диагональю = "; diagDown MsgBox "Результат в окне отладки модуля (Immediate)" End Sub
Вот что должно быть в окне отладки:
============Элементы массива (матрицы) 6 -7 -3 2 7 8 1 6 -9 -5 8 2 ======================= сумма 1 -й строки= -4 сумма 2 -й строки= 17 сумма 3 -й строки= -2 сумма 4 -й строки= 5 ======================= сумма 1 -го столбца = 4 сумма 3 -го столбца = -2 ======================= общая сумма = 16 положительных чисел = 8
сумма главной диагонали массива = 4 сумма над гл.диагональю = -2 сумма под гл.диагональю = 14
Обработка двумерных массивов часто имеет место в практической работе. Например двумерным массивом м.б. таблица успеваемости учеников (студентов) по перечню учебных дисциплин. Из такой таблицы можно получить, например, среднюю оценку обучаемого (сумма баллов – строки – поделенная на число предметов), среднюю оценку группы (класса) по какой-либо дисциплине и др. приведенная выше программа показывает, как это сделать и дает пример для разработки других показателей исходного массива (например, количество отрицательных оценок (двоек) и др.).
|
|||||
Последнее изменение этой страницы: 2017-01-20; просмотров: 324; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.208.72 (0.008 с.) |