Двумерные массивы
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Каждый элемент двумерного массива описывается как А[i,j], где: где: А – имя массива i - номер строки j – номер столбца
Пример двумерного массива (матрицы): А[3,3]=
DIM A(5,7) Данное описание предполагает, что в массиве с именем А будет 5 строк и 7 столбцов.
Если в матрице количество строк и столбцов совпадают, то она называется квадратной, в противном случае прямоугольной.
Элемент двумерного массива А(3,7) равен 29
Главная диагональ квадратной матрицы проходит из левого верхнего угла в правый нижний. А[3,3]=
Побочная диагональ квадратной матрицы проходит из правого верхнего угла в левый нижний. А[3,3]=
For i=a to b For j=c to d … Next i Next j
Способы заполнения двумерного массива
DIM A (9,9) For i=1 to 9 For j= 1 to 9 For j= 1 to 9 Input A(i,j) End
DIM A (9,9) For i:=1 to 9 For j:=1 to 9 A[i,j]:= A[i,j]:= int(rnd(1)*10) Print A (i, j) End
Примеры программ
Напишите программу формирования и вывода массива произвольного размера так, чтобы каждый последующий элемент, начиная со второго, был больше предыдущего на 5. Первый элемент задайте датчиком случайных чисел.
CLS Dim A(10,10) A(1,1)=int(rnd(1)*100) For k=1 to 10 For m=1 to 10 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 If m=1 and k>1 then A(k,m)=A(k-1,10)+5 else A(k,m)=A(k,m-1)+5 next m Next k If k=1 and m=1 then If m=1 and k>1 then A(k,m)=A(k-1,10)+5 else A(k,m)=A(k,m-1)+5 next m Next k
For k=1 to 10 For m=1 to 10 Print A(k,m); Next m Next k end For k=1 to 10 For m=1 to 10 Print A(k,m); Next m Next k end
Напишите программу формирования и вывода массива размером (6*9), каждые 3 последовательных элемента в строке которого составлены по следующему правилу: 1-ый – числу введенному с клавиатуры 2-ый – удвоенному индексу строки 3-ий – случайному однозначному числу
Dim A(6,9) For k=1 to 6 For m=1 to 9 Dim A(6,9) For k=1 to 6 For m=1 to 9
Input введите 1 элемент массива;A(k,m) A(k,m+1)=2*k A(k,m+2)=int(rnd(1)*10) Next m Next k 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, m); Next m Next k For k=1 to 6 For m=1 to 9 Print A(k, m); Next m Next k
Вычисление суммы элементов главной диагонали квадратной матрицы:
А[3,3]=
DIM A (3,3) For i=1 TO 3 For j=1 TO 3 Input A (i, j) Input A (i, j)S=0 If i = j then S=S+A[i,j]; Print S Next I Next j End if end.
Написать программу нахождения наибольшего элемента всего массива