Similar presentations:
Двумерные массивы
1. Тема: Двумерные массивы
Цель:- повторить понятие массив;
-познакомиться с понятием двумерный массив,
с синтаксисом обращения к массиву, его элементам;
- научиться заполнять и выводить на экран двумерный
массив.
2. Что такое массив?
Массив – фиксированноеколичество элементов
одного типа,
объединенных одним
именем
3. Назначение массивов:
хранениеданных
Данные:
• оценки
• температуру
• сведения о билетах и т.д.
4. Типы массивов
-1 -5 2 3• Одномерные (линейные, вектор)
• Двумерные ( таблицы, матрицы)
• Многомерные
1
0
1
0
0
0
1
1
0
1
0
0
5. Двумерные массивы
12
3
4
1
1
0
1
0
2
0
0
1
1
3
0
1
0
0
столбец
строка
Матрица А (n , m):
кол-во строк
кол-во столбцов
• прямоугольные ( n m )
• квадратные (n=m)
6. Обращение к элементам массива
А:a [ i,j ]
1
2
3
4
1
1
3
2
12
2
23
7
11
1
3
0
1 20
0
a [ 2,3 ]:=11
Номер столбца
Имя массива
Номер строки
Значение элемента
7. Описание массива
1 вариантVar a: array [n1..n2, m1..m2] of <тип_элем.>;
Номера строк
Номера столбцов
2 вариант
Var a: array [n1..n2] of array [m1..m2] of
<тип_элем.>;
8. Примеры описаний
VarA , C: array [1..40, 1..50] of integer;
B: array [1..100, 1..100] of real;
D: array [1..10, 1..10] of string;
F: array [1..20, 1..50] of byte;
9. Опишите массив:
Массив А состоит из 4 столбцов и 3 строк,значение каждого элемента матрицы
представляет собой вещественное число:
Массив В,С состоят из 3 столбцов и 3 строк,
значение каждого элемента матрицы
представляет собой целое число:
10. Вывод массива
А:Вывод массива
1
2
3
4
1
1
3
2
12
2
23
7
11
1
3
0
1 20
0
for i:= 1 to n do
begin
for j:= 1 to m do write (a[i,j]);
writeln;
end;
11. Ввод с клавиатуры
А:Ввод с клавиатуры
1
2
3
4
1
1
3
2
12
2
23
7
11
1
3
0
1 20
0
VAR i, j,n,m : integer; a: array[1..10,1..20]
of integer;
BEGIN
writeln(‘Bведите размерность массива’);
readln(n,m);
for i:=1 to n do
for j:=1 to m do read (a[i,j]);
for i:= 1 to n do
begin for j:=1 to m do write (a[i,j]:4);
writeln;
end;
END.
12. Ввод с помощью оператора присваивания
VAR i, j, n, m : integer; a: array[1..40,1..40] ofinteger;
BEGIN
writeln(‘введите размерность массива’);
readln(n,m);
for i:=1 to n do
for j:=1 to m do a[i,j]:=random(20) - 12;
Заполнение массива
for i:= 1 to n do
begin
for j:=1 to m do write (a[i,j]);
writeln;
end;
Вывод массива
END.
13. Обработка массива
Найти суммуэлементов массива
Var a: array[1..40,1..40] of integer; i,j, n,m:integer;
Begin
readln(n,m);
for i:=1 to n do
for j:=1 to m do a[i,j]:=random(20) - 12;
for i:=1 to n do
begin j:=1 to m do write(a[i,j]:4); writeln;
end;
s:=0;
for i:=1 to n do
for j:=1 to m do s:=s+a[i,j];
if a[i,j]>0 then s:=s+a[i,j];
writeln(s)
end.
14. Задачи
Дана матрица А(N,N):1. Найти количество положительных элементов,
отрицательных и нулей.
2. Найти сумму четных элементов
3. Найти минимальный и максимальный элементы,
4. Поменять местами минимальный и максимальный
элементы.
5. Найти сумму элементов в первой строке.
6. Найти произведение элементов в последнем
столбце.