Описание двумерного массива Рассмотрим описание массива на конкретном примере


Скачать 86.26 Kb.
НазваниеОписание двумерного массива Рассмотрим описание массива на конкретном примере
ТипДокументы
ДВУМЕРНЫЕ МАССИВЫ
Двумерные массивы условно можно изобразить в виде таблицы ( матрицы) . С информацией, представленной в виде таблицы, мы очень часто встречаемся в различных областях знаний – экономике, статистике, математике, физике, химии и т.д.

Каждый элемент таблицы имеет два индекса, значения которых позволяют указать местоположение элемента (его координаты). В математике квадратные и прямоугольные таблицы называют матрицами. Первый индекс – это номер строки, который изменяется только с переходом на следующую строку; второй индекс – номер столбца. По таблицу, имеющую m строк и n столбцов, говорят, что она имеет размер m*n.


А[1,1]

А[1,2]

А[1,3]

А[1,4]

А[1,5]

А[1,6]

А[2,1]

А[2,2]

А[2,3]

А[2,4]

А[2,5]

А[2,6]

А[3,1]

А[3,2]

А[3,3]

А[3,4]

А[3,5]

А[3,6]


При решении задач с использованием двумерных массивов во всех случаях (кроме некоторых частных) организуются вложенные циклы.

Перемещение по строке:

FOR i:=1 to m DO внешний цикл, изменяется номер строки



FOR j:=1 to n DO внутренний цикл, изменяется номер столбца



Перемещение по столбцу:

FOR j:=1 to n DO внешний цикл, изменяется номер столбца



FOR i:=1 to m DO внутренний цикл, изменяется номер строки


Описание двумерного массива

Рассмотрим описание массива на конкретном примере


Переменная А является двумерным массивом, имеющим 3 строки и 4 столбца


1

3

-6

7

8

-5

3

12

2

-7

8

10


В разделе переменных на языке Паскаль массив описывается следующим образом:

Var


A: array [1..3,1..4] of integer;

{все элементы массива в данном случае являются целыми числами}


ОСНОВНЫЕ АЛГОРИТМЫ ДЛЯ РАБОТЫ С ДВУМЕРНЫМИ МАССИВАМИ

  1. Заполнение двумерного массива.

Массив А содержит 3 строки и 4 столбца, т.е. 3*4=12 элементов.

Заполнение по строке:

FOR i:=1 to 3 DO внешний цикл, изменяется номер строки

FOR j:=1 to 4 DO внутренний цикл, изменяется номер столбца

Read (A[i,j]); заполнение с клавиатуры

Заполнение по столбцу:

FOR j:=1 to 4 DO внешний цикл, изменяется номер столбца

FOR i:=1 to 3 DO внутренний цикл, изменяется номер строки

Read (A[i,j]); заполнение с клавиатуры




  1. Печать в виде таблицы.

FOR i:=1 to 3 DO

begin

FOR j:=1 to 4 DO

WRITE(A[i,j],’ ‘);  печатаем элементы строки,

не перемещая курсор

WRITELN; перемещаем курсор

End;

  1. Сумма элементов массива.



S:=0;

FOR i:=1 to 3 DO

FOR j:=1 to 4 DO

S:=S+A[i,j];



  1. Вычисление суммы элементов каждой строки и каждого столбца.

Мы используем базовый алгоритм вычисления суммы элементов одномерного массива (у нас это будут строки) и повторим его столько раз, сколько имеется строк.

FOR i:=1 to 3 DO

begin

S:=0;

FOR j:=1 to 4 DO

S:=S+A[i,j];

WRITELN(‘сумма ‘,i,’ – строки=‘, S);

End;

Для того, чтобы перемещаться по строке мы меняем индекс j.

Сумма каждого столбца находится аналогично.

  1. Максимальный (минимальный) элемент массива.

Построим алгоритм поиска максимального элемента таким образом: введем три дополнительные переменные с именами max и Imax_m, Imax_n. Присвоим им начальные значения – переменной max значение первого элемента массива A[1,1], Imax_m - номер первой строки, Imax_n - номер первого столбца. Затем сравниваем каждый элемент с переменной max, если его значение оказывается больше, то присваиваем его переменной max, переменной Imax_m присваиваем индекс строки этого элемента и переменной Imax_n присваиваем индекс столбца этого элемента.

Max:=[1,1];

Imax_m:=1;

Imax_n:=1;

FOR i:=1 to 3 DO

FOR j:=1 to 4 DO

If A[i,j]>Max then begin Max:=A[i,j]; Imax_m:=i;

Imax_n:=j; end;

WRITELN(‘Max =‘, Max,’ строка=’,Imax_m,’ столбец=’,Imax_n);

  1. Поиск максимального (минимального) элементов каждой строки (столбца) и их индексов.

FOR i:=1 to 3 DO

begin

Max:=[i,1];

Imax_n:=1;

FOR j:=1 to 4 DO

If A[i,j]>Max then begin Max:=A[i,j]; Imax_n:=j; end;

WRITELN(‘Max ‘,i,’ – строки=‘, Max,’ его индекс=’,Imax_n);

End;

Задачи для самостоятельного решения:

  1. Заполнить массив A[1..2,1..5] целыми значениями с клавиатуры и вывести на экран в виде таблицы.

  2. Заполнить массив A[1..3,1..6] вещественными значениями с клавиатуры и вывести на экран в виде таблицы.

  3. Заполнить массив A[1..3,1..2] по формуле А[i,j]:=i+j и вывести на экран в виде таблицы.

  4. В массиве А[1..3,1..4] найти сумму отрицательных элементов.

  5. В массиве А[1..3,1..2] найти количество четных элементов.

  6. В массиве А[1..2,1..4] найти количество элементов, равных 0, 1 или 2.

  7. Определите среднее арифметическое четных элементов массива A[1..2,1..5].

  8. Найдите номер строки и столбца элемента массива A[1..3,1..4], равного 10.

  9. Вычислить сумму элементов каждого столбца массива A[1..2,1..5].

  10. Найти минимальный элемент каждого столбца массива A[1..4,1..5].

  11. Найти минимальный элемент среди отрицательных элементов массива А[1..3,1..4].

  12. Упорядочить массив по убыванию «методом пузырька».

  13. Найти сумму элементов того столбца двумерного массива, в котором расположился наибольший элемент (считаем, что он единственный).

  • Записать A[1..m,1..n] в B[1..m*n] построчно.

FOR i:=1 to m DO

FOR j:=1 to n DO

B[(i-1)*n+j]:=A[i,j]



  • Поменять в строках элементы в обратном порядке.

FOR i:=1 to m DO

FOR j:=1 to n DO

Begin C:=A[i,j]; A[i,j]:=A[i,n-j+1]; A[i,n-j+1]:=C end;
КВАДРАТНЫЕ МАТРИЦЫ
Объявим двумерный массив, количество строк которого совпадает с количеством столбцов.

Var


A: array [1..4,1..4] of integer;

{все элементы массива являются целыми числами}


А[1,1]

А[1,2]

А[1,3]

А[1,4]

А[2,1]

А[2,2]

А[2,3]

А[2,4]

А[3,1]

А[3,2]

А[3,3]

А[3,4]

А[4,1]

А[4,2]

А[4,3]

А[4,4]

Введем некоторые понятия:

главная диагональ: элементы А[1,1], A[2,2], A[3,3], A[4,4] (индексы элементов, расположенных на главной диагонали (i=j)); побочная диагональ элементы А[4,1], A[3,2], A[2,3], A[1,4] (сумма индексов элементов на 1 больше размерности строки (или столбца), т.е. i+j=4+1  в общем виде i+j=n+1).


-------

А[1,2]

А[1,3]

А[1,4]




---------

А[2,3]

А[2,4]







----------

А[3,4]










-----------

Элементы, расположенные над главной диагональю. Для индексов элементов, расположенных над главной диагональю выполняется отношение i<j.

--------










А[2,1]

-------







А[3,1]

А[3,2]

-------




А[4,1]

А[4,2]

А[4,3]

---------

Элементы, расположенные под главной диагональю. Для индексов элементов, расположенных под главной диагональю выполняется отношение i>j.

ОСНОВНЫЕ АЛГОРИТМЫ ДЛЯ РАБОТЫ С КВАДРАТНЫМИ МАТРИЦАМИ

  1. СУММА

Сумма элементов главной диагонали

S:=0;

FOR i:=1 to n DO

S:=S+A[i,j];


Сумма элементов, стоящих ниже главной диагонали

S:=0;

FOR i:=1 to n DO

FOR j:=1 to i DO

S:=S+A[i,j];

Сумма элементов, стоящих выше главной диагонали

S:=0;

FOR i:=1 to n DO

FOR j:=i to n DO

S:=S+A[i,j];

Сумма элементов, стоящих выше побочной диагонали

S:=0;

FOR i:=1 to n DO

FOR j:=1 to n-i+1 DO

S:=S+A[i,j];




  1. Обмен

Поменять местами 1 и 3 строки
FOR j:=1 to n DO

Begin C:=A[1,j]; A[1,j]:=A[3,j]; A[3,j]:=C

end;

Поменять местами 1 и 2 столбцы

FOR i:=1 to n DO

Begin C:=A[i,1]; A[i,1]:=A[i,2]; A[i,2]:=C

end;




  1. Найти минимальный элемент побочной диагонали.

Min:=A[1,n];

FOR i:=1 to n DO

If A[i,n+1-i]
Задачи для самостоятельного решения:


  1. Заменить элементы главной диагонали матрицы на 5.

  2. Найти сумму элементов побочной диагонали матрицы.

  3. Найти сумму элементов, стоящих ниже побочной диагонали.

  4. Найти сумму элементов матрицы, не лежащих на главной диагонали.

  5. Поменять местами 3 и 4 столбец матрицы А[1..4,1..4].

  6. Поменять местами 2 и 4 строки матрицы А[1..4,1..4].

  7. В квадратной матрице размера 5*5 поменять местами столбец, содержащий наибольшее значение, со столбцом содержащим наименьшее значение (предполагаем, что эти элементы единственные).

  8. Найти максимальный элемент главной диагонали.

Похожие:

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconОдномерные и двумерные массивы (таблицы) Массив
Массив — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются...

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconМассивы
Для обозначения компонент массива используется имя переменной-массива и так называемые индексы, которые обычно указывают желаемый...

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconРуководство пользователя содержание Описание структуры 3 Уровень...
В структуру вносится информация о Подразделениях, отделениях лпу, оказывающих медицинские услуги населению, о разбиении на участки...

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconРуководство пользователя содержание Описание структуры 3 Уровень...
В структуру вносится информация о Подразделениях, отделениях лпу, оказывающих медицинские услуги населению, о разбиении на участки...

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconПостроение эколого-геохимических карт распределения
Необходимо отсканировать кальку, на которой нанесены контур массива и точки опробования с номерами. Файл сохранить как изображение...

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconПланируемые результаты освоения программы Содержательный компонент...
Описание образовательной деятельности по профессиональной коррекции нарушений развития детей

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconСправочник «Сводный перечень заказчиков» (спз) 89 Назначение и маршрут...
Описание типов данных, используемых при определении полей документов и справочников 64

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconДокументация об аукционе в электронной форме на право заключения...
Требования к содержанию документов, входящих в состав заявки на участие в аукционе

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconЛабораторная работа 5 Работа с массивами и матрицами
Для задания значения элементов массива используйте функцию rand(). Диапазон задается произвольно, но не меньше чем от -25 до +25....

Описание двумерного массива Рассмотрим описание массива на конкретном примере iconФормат
...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск