Работа с массивами Программирование в ЕГЭ
Что надо знать о массивах? Матрица – двумерный массив. Элементы массива могут иметь любой тип. Массив определяют при помощи следующей конструкции: Array [размерность] of имя_типа; Размерность. Количество индексов, необходимых для определения положения каждого элемента массива, совпадает с его размерностью. Var Var B: array[1..5,1..10] of integer; B: array[1..5,1..10] of integer; Элементы многомерных массивов располагаются в памяти последовательно. B[1,1], b[1,2], …b[1,10], b[2,1], b[2,2],…b[5,10]
Квадратная матрица Квадратная матрица – это двумерный массив, у которого есть главная диагональ и побочная диагональ. А[1,1] А[1,2] А[1,3] А[2,1] А[2,2] А[2,3] А[3,1] А[3,2] А[3,3]
Задача с использованием массива Основными задачами, связанными с массивами, являются сортировка элементов, поиск в отсортированном массиве, а также операции над матрицами (двумерными массивами). Например: Заполним квадратную матрицу случайными числами, а затем запишем среднее арифметическое элементов строк в те элементы матрицы, которые расположены на главной диагонали. Заполним квадратную матрицу случайными числами, а затем запишем среднее арифметическое элементов строк в те элементы матрицы, которые расположены на главной диагонали , , , ,
Любые задачи с использованием массива должны содержать: Описание массива Описание массиваVar A: array[1..5, 1..5] of real; A: array[1..5, 1..5] of real; I,j: byte; I,j: byte; sum: real; sum: real; Заполнение массива Заполнение массива 1.С клавиатуры 2.По формуле 3.Случайные числа Procedure showArray; (вывод элементов массива) Begin for i:=1 to 5 do for i:=1 to 5 do begin begin For j:=1 to 5 do Write(A[I,j]:6:1); For j:=1 to 5 do Write(A[I,j]:6:1); Writeln ( '); Writeln ( '); End; End;End;
Решение задачи Решение задачиBegin Clrscr; Clrscr; Randomize; Randomize; For i:=1 to 5 do For i:=1 to 5 do For j:=1 to 5 do A[I,j]:=Random(255); For j:=1 to 5 do A[I,j]:=Random(255); Writeln (Исходная матрица: '); Writeln (Исходная матрица: '); Showrray; Showrray; For i:=1 to 5 do For i:=1 to 5 do Begin Begin Sum:=0; Sum:=0; For j:=1 to 5 do sum:=sum +A[I,j]; For j:=1 to 5 do sum:=sum +A[I,j]; A[I,i]:=sum/5; A[I,i]:=sum/5; End; End; Вывод ответа Вывод ответа Writeln(Полученная матрица:'); showArray; showArray; Readln; Readln;End.
Вычислить среднее арифметическое значений, хранимых в строках двумерного массива. Program matrix2; Var A: array[1..5, 1..5] of integer; A: array[1..5, 1..5] of integer; I,j: byte; I,j: byte; sum: longint; sum: longint;Begin Writeln(введите значения массива:); Writeln(введите значения массива:); for i:=1 to 5 do for i:=1 to 5 do for j:=1 to 5 do Read(A[I,j]); for j:=1 to 5 do Read(A[I,j]); Writeln (средние арифметические:); Writeln (средние арифметические:); For i:=1 to 5 do For i:=1 to 5 do Begin Begin Sum:=0; Sum:=0; For j:=1 to 5 do inc(sum,A[I,j]); For j:=1 to 5 do inc(sum,A[I,j]); writeln(sum/5:8:2); writeln(sum/5:8:2); End; End;end.