Двумерные массивы Решение задач из сборника «Задачи по программированию» под редакцией С. Окулова
Массив а(4,5) – массив содержащий 4 строки и 5 столбцов a[1,1]a[1,2]a[1,3]a[1,4]a[1,5] a[2,1]a[2,2]a[2,3]a[2,4]a[2,5] a[3,1]a[3,2]a[3,3]a[3,4]a[3,5] a[4,1]a[4,2]a[4,3]a[4,4]a[4,5] А= A[i,j]- элемент двумерного массива i - номер строки j - номер столбца
Задание: определить как выглядит массив а(4,5) – массив содержащий 4 строки и 5 столбцов, если для любых i и j a[1,1]a[1,2]a[1,3]a[1,4]a[1,5] a[2,1]a[2,2]a[2,3]a[2,4]a[2,5] a[3,1]a[3,2]a[3,3]a[3,4]a[3,5] a[4,1]a[4,2]a[4,3]a[4,4]a[4,5] 1) A[i,j] = i*j 2) A[i,j] = i 3) A[i,j] = 1 4) A[i,j] = max(i,j) 5) A[i,j] = mod (i,j) (остаток от деления) 6) A[i,j] = |i-j | 7) Если i
Задание: дана таблица а(5,5), запишите как выражаются ее элементы a[i,j] через i и j если таблица имеет вид: 123….n 023 n 003 n n 000 n Если ij то A[i,j]=j иначе A[i,j]=0
Заполнение массива a[n,m] случайными числами Program a1; Var i,j,m,n: integer; A:array[1..10,1..10] of integer; Begin read (n,m); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write (a[i,j]:3); end; writeln; end; end.
Program a1; Var i,j,m,n,p: integer; A:array[1..10,1..10] of integer; Begin read (n,m); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write (a[i,j]:3); end; writeln; end; {сумма всех} p:=0; for i:=1 to n do for j:=1 to m do p:=p+a[i,j]; Write (p=,p) end.
Program a1; Var i,j,m,n,p: integer; A:array[1..10,1..10] of integer; Begin read (n,m); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write (a[i,j]:3); end; writeln; end; {сумма тех которые
Program a1; Var i,j,m,n,p: integer; A:array[1..10,1..10] of integer; Begin read (n,m); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write (a[i,j]:3); end; writeln; end; {количество тех которые
Program a1; Var i,j,m,n,p: integer; A:array[1..10,1..10] of integer; Begin read (n,m); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write (a[i,j]:3); end; writeln; end; {минимальный элемент} p:=a[1,1]; for i:=1 to n do for j:=1 to m do if a[i,j]
В одномерном массиве, содержащем целые числа поменять местами элементы следующим образом: первый элемент с последним, второй с предпоследним и т.д. program a1; var a: array [1..10] of integer; n, m, i, j: integer; begin read( n ); for i:=1 to n do begin a[i]:=random(10); write(a[i]:3); end ; writeln; for i:=1 to n div 2 do begin m:=a[i]; a[i]:= a[n-i+1]; a[n-i+1]:=m; end ; writeln; for i:=1 to n do write(a[i]:3); end.
Дана прямоугольная матрица, элементами которой являются целые числа. Для каждого столбца подсчитать сумму элементов и записать полученные данные в новый массив. program a2; var a: array [1..10, 1..10] of integer; b: array [1..10] of integer; s,k, n, m, i, j: integer; begin read( n, m ); for i:=1 to n do begin for j:=1 to m do begin a[i, j]:=random(10); write(a[i, j]:3); end ; writeln; end; for j:=1 to m do begin s :=0; for i:=1 to n do begin s:=s+a[i, j]; end; b [ j ]:= s end; writeln('Вывод массива b'); for j:=1 to m do write(b[ j]:3); End.
На дом: 1.В двумерном массиве найти среднее арифметическое всех элементов. 2.В двумерном массиве найти количество положительных элементов.