Матрицы. Пример №15.

Допустим, нам нужно хранить в массиве координаты n точек на плоскости: (x1,y1), (x2,y2),…,(xn,yn).
В этом случае мы можем использовать двумерный массив.

Возьмем количество точек равным 100:

pascal
var
   coord: array [1..100, 1..2] of integer;

Такой массив представляет собой матрицу следующего вида:
Матрица

Примеры обращения к элементам матрицы:

pascal
x:=coord[2,1];
coord[95,2]:=73;

Конечно, массивы могут быть и трехмерными, и четырехмерными и т.д. Но принципы работы с ними не отличаются от принципов работы с матрицами. Поэтому рассмотрим лишь работу с матрицами. Приведем программу для решения следующей задачи (пример 15).
Задана матрица целых чисел A размерности nn. Вычесть поэлементно последний столбец из всех столбцов, кроме последнего. Размерность матрицы и значения ее элементов ввести с клавиатуры.

Пример 15

pascal
uses Crt;
var
   x   : array [1..20,1..20] of integer;
   i,j : integer;
BEGIN
ClrScr;
write('Введите размерность матрицы: ');
readln(n);
{ Ввод матрицы }
writeln('Введите элементы матрицы');
for i:=1 to n do
 begin
   write(' Строка ',i:2,': ');
   for j:= 1 to n do
      read(x[i,j]);
   writeln
 end;
{ Вычитание последнего столбца }
for j:=1 to n-1 do
   for i:=1 to n do
      x[i,j]:=x[i,j]-x[i,n] ;
{ Вывод на экран полученной матрицы }
writeln('Полученная матрица:');
for i:=1 to n do
 begin
   for j:=1 to n do
      write(x[i,j]:4);
   writeln;
 end;
readln;
END.