В двумерном массиве каждый элемент фиксируется номером строки и столбца, на пересечении которых он расположен. Положение элемента в двумерном массиве определяется двумя индексами. Они разделяются запятой. В качестве индексов могут использоваться любые арифметические выражения, константы, переменные. Если арифметическое выражение содержит дробную часть, то при определении индекса она отбрасывается. При появлении отрицательного значения индекса вызывает сообщение об ошибке.
Cлайд 3
Описание двумерного массива Для определения двумерного массива в программе используется тот же оператор DIM, только при определении размера необходимо указать два индекса – количество строк и столбцов: DIM A(5,7) Данное описание предполагает, что в массиве с именем А будет 5 строк и 7 столбцов.
Cлайд 4
Обращение к элементам массива При обращении к элементу двумерного массива необходимо указывать два индекса: номер строки и номер столбца. Элемент двумерного массива А(3,6) равен 30 57 34 56 21 44 88 90 11 91 45 88 92 0 37 73 67 85 16 42 30 22 65 92 49 64 27 82 19 62 37 99 10 35 21 11
Cлайд 5
Ввод, вывод элементов двумерного массива При заполнении и выводе на экран элементов двумерных массивов необходимо использовать вложенные циклы. Внешний цикл будет определять номер строки, а внутренний номер столбца. For i=a to b For k=c to d … Next k Next i
Cлайд 6
Примеры программ
Cлайд 7
Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная со второго, был больше предыдущего на 5. Первый элемент задайте датчиком случайных чисел.
Cлайд 8
CLS Dim A(10,10) A(1,1)=int(rnd(1)*100) For k=1 to 10 For m=1 to 10 If k=1 and m=1 then 10 If m=1 and k>1 then A(k,m)=A(k-1,10)+5 else A(k,m)=A(k,m-1)+5 10 next m Next k For k=1 to 10 For m=1 to 10 Print A(k,m); Next m:Print Next k end
Cлайд 9
Напишите программу формирования и вывода массива размером (6*9), каждые 3 последовательных элемента в строке которого составлены по следующему правилу: 1-ый – числу введенному с клавиатуры 2-ый – удвоенному индексу строки 3-ий – случайному однозначному числу
Cлайд 10
Dim A(6,9) For k=1 to 6 For m=1 to 9 step 3 Input “введите 1 элемент массива”;A(k,m) A(k,m+1)=2*k A(k,m+2)=int(rnd(1)*10) Next m Next k For k=1 to 6 For m=1 to 9 Print A(k); Next m:Print Next k
Cлайд 11
Напишите программу формирования массива размером 5*5 датчиком случайных чисел. Замените в нем нечетные значения элементов максимальными. Выведите исходный массив и измененный массивы.
Cлайд 12
CLS: Dim A(5,5) For k=1 to 5: for m=1 to 5 A(k,m)=int(rnd(1)*100) Print A(k,m);:Next m:Print:Next k Max=0 For k=1 to 5 For m=1 to 5 If A(k,m)>max then max:=A(k,m) Next m Next k Print “Максимальное число массива =”;max For k=1 to 5 For m=1 to 5 If A(k,m) mod 2 0 then A(k,m)=max Print A(k,m); Next m Print Next k
Cлайд 13
Составьте программу формирования одномерного массива из максимальных элементов строк двумерного массива, заданного датчиком случайных чисел.
Cлайд 14
CLS Dim A(10,10),B(10) For k=1 to 10: for m=1 to 10 A(k,m)=int(rnd(1)*100) Print A(k,m);: Next m: Print: Next k For k=1 to 10: min=A(k,1) For m=1 to 10 If A(k,m)
Cлайд 15
Напишите программу, которая заполняет первую строку массива размером 2*5 фамилиями врачей, а вторую их специальностями. Определите и выведите по запросу с клавиатуры фамилию нужного специалиста.
Cлайд 16
Dim A$(2,5) Data Иванов, Петров, Сидорова, Кулаков, Ильин Data окулист, педиатр, стоматолог, кардиолог, лор For m=1 to 2 For n=1 to 5 Read A$(m,n) Print A$(m,n) Next n Print Next m Input “Введите специальность врача” F$ For m1 to 5 If A$(2,m)=F$ then Print A$(1,m) Next m