Добавил:
Negorov1337@gmail.com inst:vech.no_17 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб 7 массивы / Лабораторный_практикум_по_программированию_пр.7.doc
Скачиваний:
5
Добавлен:
11.10.2020
Размер:
1.71 Mб
Скачать

Задачи для самостоятельного выполнения

Разработать алгоритм и составить программу решения следующих задач. Произвести ввод, редактирование, тестирование, отладку программы, решение и анализ результатов решения задач на компьютере.

Вариант 1. Дан массив А (а1, а2, ..., аn). Найти среднее арифметическое отрицательных элементов. Найти максимальный элемент из элементов, стоящих на четных местах.

Вариант 2. Дан массив А (а1, а2, ..., аn). Найти индекс максимального элемента из элементов, стоящих на четных местах и произведение отрицательных элементов.

Вариант 3. Дан массив А (а1, а2, ..., аn). Найти среднее арифметическое положительных элементов, стоящих на четных местах. Найти индекс максимального элемента.

Вариант 4. Дан массив А (а1, а2, ..., аn). Найти произведение отрицательных элементов, стоящих на четных местах, и отсортировать массив по возрастанию.

Вариант 5. Дан массив А (а1, а2, ..., аn). Переместить нулевые элементы массива в конец, сдвинув остальные элементы влево.

Вариант 6. Дан массив А (а1, а2, ..., аn). Переместить нулевые элементы массива в начало, сдвинув остальные элементы вправо.

Вариант 7. В массиве А (а1, а2, ..., аn) определить первый отрицательный элемент и его номер.

Вариант 8. В одномерном массиве А (а1, а2, ..., аn) перенести в начало максимальный элемент.

Вариант 9. Дан массив А (а1, а2, ..., аn), где n – число четное. Получить новый массив B (b1, b2, ..., bn/2) по следующему правилу (b11 + аn, b22n-1 и т.д.). Найти минимальный элемент полученного массива.

Вариант 10. В одномерном массиве А (а1, а2, ..., аn) перенести в конец минимальный элемент.

Вариант 11. Дан массив А (а1, а2, ..., аn). Найти максимальный и минимальный элементы массива А и поменять их местами.

Вариант 12..Дан массив А (а1, а2, ..., аn). Переписать в массив В подряд положительные элементы массива А.

Вариант 13. Дан массив А (а1, а2, ..., аn). Переписать в массив В подряд сначала отрицательные элементы массива А, а затем положительные.

Вариант 14. Дан массив А (а1, а2, ..., аn). Переписать в массив В подряд элементы массива А (а1, а2, ..., аn), значения которых по модулю лежат в заданном диапазоне от b до с (bai c). Значения переменных b и с вводятся.

Вариант 15. Дан массив А (а1, а2, ..., аn). Переписать в массив N подряд индексы элементов массива А (а1, а2, ..., аn), значения которых по модулю лежат в заданном диапазоне от b до с (bai c). Значения переменных b и с вводятся.

Методические указания к выполнению задания b

Самый простой способ – заполнить двумерный массив элементами (как, впрочем, и одномерный) с помощью операторов присваивания. Например:

A(1,1)=3

A(1,2)=1

A(2,1)=-5

A(1,2)=7

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

Ввод и вывод элементов двумерного массива представляют собой сложный циклический процесс с количеством вложений, равным двум, т.е. цикл в цикле, т.к. элементы двумерного массива имеют два индекса – индекс строки и индекс столбца.

В нижеприведенном фрагменте программы на языке QBasic ввод элементов матрицы размером m × n производится по строкам.

10 INPUT “Введите размер матрицы – M и N”;M,N

20 OPTION BASE 1 ‘ установление нижней границы индексов

‘ равной единице

30 DIM A(M, N) ‘ объявление двумерного массива А,

‘содержащего M строк и N столбцов

40 REM ввод элементов матрицы

50 FOR I=1 TO М ‘ выбор строки

60 FOR J=1 TO N ‘ выбор элемента строки

70 PRINT “A(“;I;”,”;J;”)=”; ‘ вывод подсказки

80 INPUT A(I,J) ' ввод очередного элемента матрицы

90 NEXT J ' следующий элемент строки

100 NEXT I ' следующая строка

Номера строк приведены, чтобы на них можно было сослаться, а вообще они необязательны.

В строках 50–100 происходит построчный ввод матрицы. Для этого оператор INPUT помещен внутрь двух вложенных циклов. Имеет смысл разобрать алгоритм ввода матрицы более подробно. Оператор внешнего цикла (строка 50) задает параметру цикла I значение, равное 1. Так как I<М, то выполняются все операторы, входящие в этот цикл. Первым таким оператором является оператор внутреннего цикла (строка 60), который задает параметру J значение 1. Затем вводится элемент массива А(1,1) (строка 80). С помощью строки 70 на экран выводится подсказка, в которой указывается, какой элемент должен вводится в этом цикле. В строке 90 осуществляется переход на продолжение внутреннего цикла J=2,3,...,N. Как только параметр J превысит значение N, внутренний цикл считается выполненным для данного значения I. После окончания внутреннего цикла оператор внешнего цикла (строка 50) присваивает параметру I значение 2 и снова повторяет внутренний цикл N раз. После M-кратного выполнения внешнего цикла ввод матрицы считается выполненным.

Последовательность записи значений элементов при вводе по строкам следующая (при установлении нижней границы индекса равной 1):

A(1,1), A(1,2), A(1,3), ..., A(1,M), A(2,1), A(2,2), A(2,3), ...,

A(2,M), ..., A(M,1), A(M,2), A(M,3), ..., A(M,N),

т.е. элементы первой строки, затем второй и т.д., и наконец – элементы последней M-й строки.

Элементы двумерного массива могут быть введены по столбцам:

10 INPUT “Введите размер матрицы – M и N”;M,N

20 OPTION BASE 1

30 DIM A(M, N) ‘объявление двумерного массива

40 REM ввод элементов матрицы

50 FOR J=1 TO М ‘выбор столбца

60 FOR I=1 TO N ‘выбор элемента столбца

70 PRINT “A(“;I;”,”;J;”)=”; ‘вывод подсказки пользователю

80 INPUT A(I,J) ‘ввод очередного элемента матрицы

90 NEXT I ‘следующий элемент столбца

100 NEXT J ‘следующий столбец

В этом случае внешний цикл организуется по параметру J (столбец), а внутренний – по параметру I (строка). Последовательность записи при вводе по столбцам:

A(1,1), A(2,1), A(3,1), ..., A(M,1), A(1,2), A(2,2), A(3,2), ...,

A(M,2), ..., A(1,N), A(2,N), A(3,N), ..., A(M,N),

т.е. элементы первого столбца, затем второго и т.д., и наконец – последнего N-го столбца.

Вывод массивов может осуществляться такими же последовательностями операторов, что и ввод, но вместо оператора INPUT записываются операторы PRINT или PRINT USING. Эти операторы рекомендуется использовать на этапе отладки и тестирования программы. Ввод и вывод массивов рассмотрим в конкретных примерах.

Вычислить сумму всех отрицательных чисел матрицы А размерностью M × N, где M<100 и N<100.

Визуальное представление алгоритма вычисления суммы всех отрицательных чисел двумерного массива (матрицы) А размерностью M × N представлено на рисунке 17.

Рис. 17. Визуальное представление алгоритма вычисления суммы

всех отрицательных чисел двумерного массива А размерностью M × N

В блоке 2 вводятся переменные m и n – количество строк матрицы и количество столбцов соответственно.

Далее алгоритм данной задачи представляет собой последовательность из трех детерминированных сложных (вложенных) структурных циклов с управлением по индексу. Внутрь последнего сложного цикла вложена структура «Ветвление».

Сначала это построчный ввод элементов матрицы (блок 3), т.е. происходит заполнение двумерного массива. Блок 3 представляет собой сложный циклический процесс, т.к. элемент двумерного массива A(I, J) имеет два индекса: индекс строки I и индекс столбца J.

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

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

Программа на языке QBasic

10 REM вычисление суммы всех отрицательных чисел матрицы

20 DEFINT I-J, M-N 'объявление типа переменных

30 INPUT "Введите размер матрицы – M и N"; M, N

40 DIM A(1 TO M, 1 TO N) ' объявление двумерного массива

50 REM ввод элементов матрицы

60 FOR I=1 TO M ' выбор строки

70 FOR J=1TO N ‘выбор элемента строки

80 PRINT "A(";I;",";J;")="; ' вывод подсказки пользователю

90 INPUT A(I, J) 'ввод очередного элемента матрицы

100 NEXT J 'следующий элемент строки

110 NEXT I ' следующая строка

120 REM печать элементов матрицы

130 PRINT SPC(12) "ИСХОДНАЯ МАТРИЦА"

140 FOR I=1 TO M

150 FOR J=1 TO N

160 PRINT TAB(10*J) A(I, J); ' вывод на экран очередного

170 NEXT J ' элемента матрицы

180 PRINT

190 NEXT I

200 REM накопление суммы

210 LET S=0

220 FOR I=1 TO M ' cтрока

230 FOR J=1 TO N ' элемент

240 IF A(I,J)<0 THEN LET S=S+A(I,J) ' сумма

250 NEXT J ' следующий элемент

260 NEXT I ' следующая строка

270 PRINT "Сумма отрицательных чисел равна ";S

280 END

Пояснение. Номера строк в программе приведены, чтобы на них можно было сослаться, а вообще они необязательны.

Ввод матрицы происходит построчно. Для этого оператор INPUT помещен внутрь двух вложенных циклов. Заголовок внешнего цикла (строка 10) задает параметру цикла I значение, равное 1. Так как I<М, то выполняются все операторы, входящие в этот цикл. Первым таким оператором является заголовок внутреннего цикла (строка 20), который задает параметру J значение 1. Затем вводится элемент массива А (1,1) (строка 40). С помощью строки 30 на экран выводится подсказка, в которой указывается, какой элемент должен вводиться в этом цикле. В строке 50 осуществляется переход на продолжение внутреннего цикла J=2,3,...,N. Как только параметр J превысит значение N, внутренний цикл считается выполненным для данного значения I. После окончания внутреннего цикла оператор внешнего цикла (строка 10) присваивает параметру I значение 2 и снова повторяет внутренний цикл N раз. После M-кратного выполнения внешнего цикла ввод матрицы считается выполненным.

Последовательность присваивания значений элементов при вводе по строкам следующая (при установлении нижней границы индекса, равной 1):

A(1,1), A(1,2), A(1,3),..., A(1,M), A(2,1), A(2,2), A(2,3),...,A(2,M),..., A(M,1), A(M,2), A(M,3),..., A(M,N),

Строки программы, в которых происходит вывод исходной матрицы, так же, как и ввод матрицы, представляют собой вложенный цикл. Отметим использование функции TAB для выравнивания элементов матрицы при выводе. Знак «;» в конце оператора

PRINT TAB(10*J) A(I, J);

ставится, чтобы все элементы одной строки массива А находились на одной и той же строке вывода. Пустой оператор PRINT нужен, чтобы в конце строки массива перейти к следующей строке вывода.

Обработка матрицы также представляет собой вложенный цикл, внутрь которого включена структура «ветвление» для того, чтобы каждый элемент матрицы сравнивать с нулем. Если очередной элемент матрицы меньше нуля (A(I,J)<0), происходит суммирование отрицательных элементов матрицы.

В качестве тестового варианта возьмем матрицу размером 3×3, в которой есть отрицательные элементы

А= ,

то результаты выполнения программы следующие (рис. 18).

Рис. 18. Результаты выполнения программы вычисления суммы

всех отрицательных чисел двумерного массива А размерностью M × N

на экране вывода системы программирования QBasic

Из результатов видно, что сумма всех отрицательных чисел двумерного массива А размерностью M × N вычислена верно.

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

В строках 10, 50 120 и 200 находятся операторы комментариев REM.

В строках 60–110 происходит построчный ввод матрицы. Для этого оператор INPUT помещен внутрь двух вложенных циклов. Алгоритм ввода матрицы подробно рассмотрен выше. Последовательность присваивания значений элементов при вводе по строкам следующая (при установлении нижней границы индекса, равной 1):

A(1,1), A(1,2), A(1,3),..., A(1,M), A(2,1), A(2,2), A(2,3),...,A(2,M),..., A(M,1), A(M,2), A(M,3),..., A(M,N),

С помощью строки 130 печатается заголовок "ИСХОДНАЯ МАТРИЦА".

Строки 140–190, в которых происходит печать исходной матрицы, так же, как и ввод матрицы представляют собой вложенный цикл. Отметим использование функции TAB для выравнивания элементов матрицы при выводе, знак ";" в конце строки 160, чтобы все элементы одной строки массива А находились на одной и той же строке печати. После вывода очередной строки матрицы оператор PRINT в строке 180 переводит курсор в начало следующей строки.

Строки 220–260 – обработка матрицы также представляет собой вложенный цикл, в котором каждый элемент матрицы сравнивается с нулем (строка 240). Если очередной элемент матрицы меньше нуля (A(I,J)<0), происходит суммирование отрицательных элементов матрицы.

В строке 270 осуществляется вывод суммы отрицательных элементов.

Теперь рассмотрим пример разработки программного кода того же примера, используя объектно-ориентированное программирование, реализуемое средствами языка VBA, используя экранные формы.

Создадим графический интерфейс приложения. Чтобы спроектировать наше приложение, нужно взять некоторые стандартные элементы управления, поместить их на форму, затем установить начальные свойства этих элементов и создать код обработки событий, связанных с этими элементами. Подробно последовательность всех этих действий рассмотрена в [10], [11] и [12].

В окне проекта выберите имя проекта, в который требуется добавить форму.

В меню редактора VBA выберите команду Insert (Вставка)\ UserForm. Выводится пустая экранная форма и набор инструментов.

При размещении на экранной форме стандартных элементов управления, в частности командных кнопок, будем придерживаться следующей стандартной последовательности в работе:

  1. ввод элементов массива;

  2. вывод данного массива на экран – визуализация массива (с поясняющей надписью);

  3. обработка элементов массива согласно условию задачи;

  4. вывод результатов, полученных после обработки, на экран (с поясняющей надписью).

Разместим на экранной форме (рис. 19), используя метод «drag-and-drop», следующие стандартные элементы управления:

  • четыре элемента управления типа CommandButton (командная кнопка) – CommandButton1, CommandButton2, CommandButton3 и CommandButton4 для реализации четырех стандартных этапов при решении задач с использованием массивов. Командную кнопку CommandButton1 используем для запуска событийной процедуры ввода исходного двумерного массива А. Расположим в ней надпись «Ввод матрицы А» изменив свойство элемента Caption (Надпись). Командную кнопку CommandButton2 используем для запуска событийной процедуры визуализации исходного двумерного массива B. Расположим в ней надпись «Визуализация матрицы А», изменив свойство элемента Caption (Надпись). Командную кнопку CommandButton3 используем для запуска событийной процедуры суммирования всех отрицательных элементов матрицы A. Расположим в ней надпись «Обработка массива», изменив свойство элемента Caption (Надпись). Командную кнопку CommandButton4 используем для запуска событийной процедуры визуализации результата – суммы всех отрицательных элементов матрицы A. Расположим в ней надпись «Визуализация результата», изменив свойство элемента Caption (Надпись);

  • два элемента типа Label (метка) – Label1, Label2, в которых расположим надписи «Матрица А» и «Сумма отрицательных элементов матрицы равна». Надписи расположим, изменив свойство элементов Caption (Надпись);

  • один элемент управления типа ListBox (Список) – ListBox1 для вывода (визуализации) исходного двумерного массива A;

  • один элемент управления типа TextBox (Текстовое поле или окно ввода) TextBox1 для размещения результата – суммы всех отрицательных элементов матрицы A.

Рис. 19. Форма и расположение на ней элементов управления

Зададим новые значения свойств элементам управления, размещенным на форме (рис. 19) согласно общепринятым соглашениям с помощью окна Propeties (Свойства объектов). Значения свойств по умолчанию и новые значения свойств представлены в таблице 3. Форма и расположение на ней элементов управления после задания новых свойств этим элементам представлены на рисунке 20.

Таблица 3

Новые значения свойств элементов управления формы

Элемент

управления

Свойство

Значение

по умолчанию

Новое значение

Label (метка)

Name (имя)

Label1

Lbl1

Caption (надпись)

Label1

Матрица А

Label (метка)

Name (имя)

Label2

Lbl2

Caption (надпись)

Label2

Сумма отрицательных элементов матрицы равна

ListBox (список)

Name (имя)

ListBox1

LbxMatrizaA

CommandButton

(командная кнопка)

Name (имя)

CommandButton1

CmdVvodA

Caption (надпись)

CommandButton1

Ввод матрицы А

CommandButton

(командная кнопка)

Name (имя)

CommandButton2

CmdVyvodA

Caption (надпись)

CommandButton2

Визуализация

матрицы A

CommandButton

(командная кнопка)

Name (имя)

CommandButton3

CmdSumma

Caption (надпись)

CommandButton3

Обработка массива

CommandButton

(командная кнопка)

Name (имя)

CommandButton4

CmdRezultat

Caption (надпись)

CommandButton4

Визуализация

результата

TextBox

(текстовое окно)

Name (имя)

TextBox1

TxtS

Рис. 20. Форма и её элементы управления

после переименования и изменения свойств

Таким образом, в программном коде следует записать четыре процедуры обработки события Click (кликанье левой кнопки мыши) для четырех командных кнопок.

Объявим переменные, используемые во всех процедурах.

Option Base 1 ‘нижняя граница индекса равна 1

Dim m As Integer ‘количество строк матрицы А

Dim n As Integer ‘количество столбцов матрицы А

Dim i As Integer ‘индекс строки

Dim j As Integer ‘индекс столбца

Dim a() As Single ‘объявление двумерного массива (матрицы) А

Dim s As Single ‘переменная для накопления результата.

Сгенерируем процедуру обработки события Click (кликанье левой кнопки мыши) для командной кнопки CmdVvodA с надписью «Ввод матрицы А». Для этого достаточно быстро кликнуть на этой кнопке два раза левой кнопкой мыши. В результате будет создана нужная нам процедура, в которую надо ввести следующий код.

Private Sub CmdVvodA_Click()

m = Val(InputBox("Введите m"))

n = Val(InputBox("Введите n"))

ReDim a(1 To m, 1 To n) As Single

For i = 1 To m

For j = 1 To n

a(i, j) = InputBox("Введите a(" & i & "," & j & ") элемент")

Next j

Next i

End Sub

Пояснение. Данная процедура предназначена для ввода двумерного массива А.

В этой процедуре используется динамический массив, поэтому сначала объявим его оператором

Dim a() As Single.

Затем количество строк m и столбцов n двумерного массива A вводится с помощью функции Inputbox. После этого изменяем размер массива с помощью оператора

ReDim a(1 To m, 1 To n) As Single

Для ввода элементов двумерного массива использована функция InputBox(), которая выводит на экран диалоговое окно, содержащее сообщение и поле ввода. Функция возвращает введенное значение типа string (строковое), поэтому его надо «подредактировать» функцией Val(), которая переводит «строку» в числовое значение соответствующего типа.

При выполнении функции InputBox() выводится поясняющая надпись.

Ввод массива А организован с помощью вложенной структуры «цикл с параметром». Структура «цикл с параметром» реализована на алгоритмическом языке оператором цикла For/Next. Параметром внешнего цикла является индекс строки I двумерного массива А. Параметром внутреннего цикла является индекс столбца J двумерного массива А. Функция Inputbox размещена в теле цикла.

Далее выполняем второй этап работы – вывод исходного двумерного массива А на экран.

Аналогично сгенерируем процедуру обработки события Click (кликанье левой кнопки мыши) для второй командной кнопки CmdVyvodА надписью «Визуализация матрицы А», в которую введем программный код.

Private Sub CmdVyvodA_Click()

Dim stra As String

For i = 1 To m

stra = ""

For j = 1 To n

stra = stra + " " + Str(a(i, j))

Next j

LbxMatrizaA.AddItem stra

Next i

End Sub

Пояснение. Данная процедура предназначена для вывода двумерного массива А на экран.

Оператор

Dim stra As String

описывает строковую переменную, предназначенную для визуализации очередной строки двумерного массива А.

Вывод массива А также организован с помощью вложенной структуры «цикл с параметром». Структура «цикл с параметром» реализована на алгоритмическом языке оператором цикла For/Next. Параметром внешнего цикла является индекс строки I двумерного массива А. Параметром внутреннего цикла является индекс столбца J двумерного массива А.

В теле внутреннего цикла размещен оператор присваивания

stra = stra + " " + Str(a(i, j)),

который формирует строковую переменную stra, состоящую из элементов очередной строки двумерного массива А. Для слияния строк использована операция & (конкатенация). Допустимо использовать также «+».

Для визуализации двумерного массива А, использован элемент управления (объекта) ListBox (Список). Для добавления в список нового элемента массива используем метод AddItem, который является наиболее часто используемым методом элемента управления элемента ListBox (Список).

Метод AddItem в качестве аргумента имеет строковую переменную. Отметим использование функции Str(), которая позволяет переводить преобразование десятичного числа в десятичное число в строковой форме. Аргументом функции является десятичное число, а значением – строка. Всегда форматирует строку в соответствии со стандартом английского языка США с точкой в качестве десятичного разделителя.

Добавление очередного элемента двумерного массива в список ListBox выполняется внутри внешнего цикла с помощью оператора

LbxMatrizaA.AddItem stra

после формирования строковой переменной stra внутри внутреннего цикла.

Перед заголовком внутреннего цикла во внешнем цикле размещен оператор присваивания

stra = "",

который присваивает строковой переменной stra значение пустой строки.

Сгенерируем процедуру обработки события Click (кликанье левой кнопки мыши) для третьей командной кнопки CmdSumma с надписью «Обработка массива» и впишем в нее программный код:

Private Sub CmdSumma_Click()

s = 0

For i = 1 To m

For j = 1 To n

If a(i, j) < 0 Then s = s + a(i, j)

Next j

Next i

End Sub

Пояснение. Обработка массива (вычисление суммы всех отрицательных элементов двумерного массива) также организована с помощью вложенной структуры «цикл с параметром». Внутрь сложного цикла вложена структура «Ветвление».

В данной задаче необходимо вычислить сумму отрицательных элементов всей матрицы, поэтому начальное значение суммы задаем перед внешним циклом оператором присваивания s = 0.

Сумму накапливаем во внутреннем цикле. Перед тем как суммировать очередной элемент, проверяем его знак с помощью условного оператора. В случае, если элемент отрицательный, прибавляем его к сумме

If a(i, j) < 0 Then s = s + a(i, j).

В противном случае переходим к следующему элементу матрицы.

При «кликанье» левой кнопки мыши на третьей командной кнопке CmdSumma с надписью «Обработка массива» результатов работы этой процедуры мы не увидим, так как переменная s пока хранится в оперативной памяти.

Чтобы их увидеть, создадим процедуру обработки события Click для четвертой командной кнопки CmdRezultat с надписью «Визуализация результата» и впишем в нее программный код.

Private Sub CmdRezultat_Click()

TxtS.Value = s

End Sub

Пояснение. Переменную s выводим в элемент управления TextBox (Текстовое поле или окно ввода) TxtS при помощи свойства Value.

Программный код полностью представлен в окне программы VBA на рисунке 21.

Рис. 21. Программный код в окне программы VBA

Запустите ваше приложение, выбрав команду Run Run Sub/UserForm или нажав функциональную клавишу F5. Появится экранная форма (рис. 22).

Рис. 22. Экранная форма после запуска приложения

В качестве тестового варианта возьмем матрицу размером 3х3, в которой есть отрицательные элементы

А= ,

После щелчка на первой командной кнопке с надписью «Ввод матрицы А» появится диалоговое окно ввода переменной m – количества строк матрицы А (рис. 23).

Рис. 23. Диалоговое окно ввода переменой m – результат

использования функции InputBox("Введите m")

Введем количество строк двумерного массива – 3 – и нажмем кнопку ОК либо клавишу Enter.

Следующим появится диалоговое окно ввода переменной n – количества столбцов матрицы А (рис. 24).

Рис. 24. Диалоговое окно ввода переменой n – результат

использования функции InputBox("Введите n")

Также введем количество столбцов двумерного массива – 3 – и нажмем кнопку ОК либо клавишу Enter.

Следующим появится диалоговое окно ввода элемента массива a(1,1) c соответствующей поясняющей надписью (рис. 25).

Рис. 25. Диалоговое окно ввода элементов

двумерного массива А – результат использования функции

Соседние файлы в папке лаб 7 массивы