Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 6 лет назад пользователемюля анурьева
1 двумерные массивы
2 Массивы Двумерный массив (матрица) – это массивы, положение элементов в которых описывается двумя индексами или прямоугольная таблица, состоящая из нескольких строк и столбцов Обозначение: a[i,j], где i – номер строки, j – номер столбца var a:array[1..n, 1..m] of integer;
3 Структура массива Двумерный массив В[i,j] типа integer из 4 строк и 5 колонок. Элемент массива В[2,4]=34 индексы Номер строки Номер столбца
4 Объявление массивов Зачем объявлять? –определить имя массива –определить тип массива –определить число элементов –выделить место в памяти ЭВМ Объявление массива позволяет правильно оперировать с данными и резервировать место для хранения данных в памяти.
5 Объявление массива целых чисел Массив описывают в секции VAR var A : array[ ] of integer ; имя начальный индекс конечный индекс тип Const N=12; var A: array[1.. N] of integer; Описание через константу
6 Объявление массивов Массивы других типов: var X, Y: array [1..10] of real; C: array [1..20] of char; Другой диапазон индексов: var Q: array [0..9] of real; C: array [-5..13] of char; Индексы других типов: var A: array ['A'..'Z'] of real; B: array [False..True] of integer; D: array ['a'..'z',w2..w4] of string; A['C'] := *A['B']; B[False] := B[False] + 1;
7 Что нельзя делать? Нельзя в массивы целого типа вводить вещественные значения var a: array[1..10] of integer;... A[5] := 4.5; Нельзя использовать индексы отсутствующие в перечислениях var a: array ['z'..с'] of integer;... A['B'] := 15; Нельзя выходить за пределы индексов указанные в описании var a: array [0..9] of integer;... A[10] := 'X';
8 Операции с массивами Выполняются в циклах Объявление const N = 5; var a: array[1..N] of integer; i: integer; Ввод данных с клавиатуры for i:=1 to N do begin write('a[', i, ']='); read ( a[i] ); end; Данные обрабатывают поэлементно for i:=1 to N do a[i]:=a[i]*2; Вывод данных на дисплей writeln('Массив A:'); for i:=1 to N do write(a[i]:4); a[1] = a[2] = a[3] = a[4] = a[5] = a[1] = a[2] = a[3] = a[4] = a[5] = for i:=1 to N do writeln (a[,I,]=,a[i]:4); Что будет на экране?
9 Двумерный массив Массив – набор элементов одного типа, имеющих общее имя, и разные номера (индексы). Массив с двумя индексами называют двухмерным. Моделью двумерного массива является прямоугольная таблица элементов - матрица. Номер элемента состоит из двух чисел – номера строки, и номера столбца. Матрица 3 х 3 элемента Главная диагональ Обращение к элементам массива имеет вид: А [ i, j ]. Это означает, что мы хотим получить элемент, расположенный в i -й строке и j -м столбце.
10 Описание двумерного массива Описание матрицы в разделе var аналогично описанию одномерного массива, только необходимо указывать диапазон изменения столбцов и строк. Const n=10; m=12; Var a:array [1..n,1..m] of integer; Или Var B:array [1..10,1..12] of real;
11 Ввод двумерного массива Паскаля с клавиатуры Writeln (Введите матрицу построчно); For i:=1 to n do For j:= 1 to m do Begin Write (a[,i,,,j,]=); Readln (a[i,j]); End;
12 Ввод двумерного массива из генератора случайных чисел Randomize; For i:=1 to n do Begin Begin For j:=1 to m do Begina[i,j]:=random(11)+2; write(a[i,j], ); End;Writeln;End; Массив случайных целых чисел из интервала [2,12]
13 Суммирование элементов массива Сумма всех элементов: sum:=0; for i:=1 to n do for j:=1 to m do sum:=sum+a[i,j]; writеln('Сумма=',sum); Сумма элементов главной диагонали (x[1,1], x[2,2] и т.д.): sum:=0; for i:=1 to n do sum:=sum+a[i,i]; writеln ('Сумма=',sum); Cумма по столбцам с записью в массив zum[1..m]: for j:=1 to m do zum[j]:=0; for i:=1 to n do zum[j]:=zum[j]+x[i,j]; for j:=1 to m do write(zum[j]:4);
14
Максимальный (минимальный) элемент массива max:=a[1,1]; min:=a[1,1]; for i:=1 to n do for j:=1 to m do begin if a[i,j]>max then max:=a[i,j]; if a[i,j]
15 Решение задач Вывести максимальные и минимальные элементы в каждом столбце двумерного массива program mass2x; Const n=10; m=12; Var a:array [1..n,1..m] of integer; i,j,min,max: integer; begin For i:=1 to n do Begin For j:=1 to m do Begin a[i,j]:=random(11)+2; write(a[i,j]:6,' '); End; Writeln; End; Writeln; For j:=1 to m do Begin min:=a[1,j]; max:=a[1,j]; For i:=1 to n do Begin if min>a[i,j] then min:=a[i,j]; if maxa[i,j] then min:=a[i,j]; if max
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.