Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОАиП.docx
Скачиваний:
16
Добавлен:
31.05.2015
Размер:
93.35 Кб
Скачать

12. Двумерные массивы: описание, определение.

В языке Паскаль двумерный массив - это массив, элементами которого являются одномерные массивы:

b: array[1..n] of array[1..m] of integer;

С другой стороны двумерный массив можно описать и так:

b: array[1..n,1..m] of integer;

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

Type

massiv1=array[1..n] of real;

massiv2=array[1..5,1..6] of integer;

var

f:array[1..10] of massiv1;

mas:array[0..10,1..30] of char;

b:massiv2;

asd:array[1..20,1..10] of byte;

begin

..............

f[i,j]:=13.13;

mas[0,1]:='a';

b[5,6]:=7;

13. Действия по добавлению, удалению, перестановке строк и столбцов.

uses crt;

const maxrow=10;

maxcol=10;

type matr=array[1..maxrow, 1..maxcol] of real;

var a:matr;

i, j, k, l, p:integer;

begin

read(k, l);

for i:=1 to k do

for j:=1 to l do

begin

read(a[i,j]);

end;

writeln('Введите номер столбца, который вы хотите удалить');

read(p);

for i:=1 to k do

for j:=p to l do

a[i, j]:=a[i, j+1];

for i:=1 to k do

begin

for j:=1 to l-1 do

write(' A[',i,',',j,']= ' ,a[i, j]);

writeln;

end;

end.

uses crt;

const maxrow=10;

maxcol=10;

type matr=array[1..maxrow, 1..maxcol] of real;

var a:matr;

i, j, k, l, p:integer;

begin

read(k, l);

for i:=1 to k do

for j:=1 to l do

begin

read(a[i,j]);

end;

writeln('Введите номер строки, который вы хотите удалить');

read(p);

for i:=p to k do

for j:=1 to l do

a[i, j]:=a[i+1, j];

for i:=1 to k-1 do

begin

for j:=1 to l do

write(' A[',i,',',j,']= ' ,a[i, j]);

writeln;

end;

end.

uses crt;

const maxrow=10;

maxcol=10;

type matr=array[1..maxrow, 1..maxcol] of real;

var a:matr;

i, j, k, l, p, m:integer;

begin

read(k, l);

for i:=1 to k do

for j:=1 to l do

begin

read(a[i,j]);

end;

writeln('Введите номер столбца массива, после которого хотите добавить столбец');

read(p);

for i:=1 to k do

for m:=l downto p+1 do

a[i, m+1]:=a[i, m];

for i:=1 to k do

begin

writeln('Введите число, которое вы хотите добавить');

read(a[i, p+1]);

end;

for i:=1 to k do

begin

for j:=1 to l+1 do

write(' A[',i,',',j,']= ' ,a[i, j]);

writeln;

end;

end.

uses crt;

const maxrow=10;

maxcol=10;

type matr=array[1..maxrow, 1..maxcol] of real;

var a:matr;

i, j, k, l, p, m:integer;

begin

read(k, l);

for i:=1 to k do

for j:=1 to l do

begin

read(a[i,j]);

end;

writeln('Введите номер строки массива, после которой хотите добавить строку');

read(p);

for m:=k downto p+1 do

for j:=1 to l do

a[m+1, j]:=a[m, j];

for j:=1 to k do

begin

writeln('Введите число, которое вы хотите добавить');

read(a[p+1, j]);

end;

for i:=1 to k+1 do

begin

for j:=1 to l do

write(' A[',i,',',j,']= ' ,a[i, j]);

writeln;

end;

end.

uses crt;

const maxrow=10;

maxcol=10;

type matr=array[1..maxrow, 1..maxcol] of real;

var a:matr;

b:array[1..10] of real;

c:array[1..10] of real;

i, j, k, l, x, y:integer;

begin

read(k, l);

for i:=1 to k do

for j:=1 to l do

begin

read(a[i,j]);

end;

writeln('Введите номера строк массива, которое хотите переставить');

read(x, y);

for j:=1 to l do

b[j]:=a[x, j];

for j:=1 to l do

c[j]:=a[y, j];

for j:=1 to l do

a[y, j]:=b[j];

for j:=1 to l do

a[x, j]:=c[j];

for i:=1 to k do

begin

for j:=1 to l do write(' A[',i,',',j,']= ' ,a[i, j]); writeln; end; end.

uses crt;

const maxrow=10;

maxcol=10;

type matr=array[1..maxrow, 1..maxcol] of real;

var a:matr;

b:array[1..10] of real;

c:array[1..10] of real;

i, j, k, l, x, y:integer;

begin

read(k, l);

for i:=1 to k do

for j:=1 to l do

begin

read(a[i,j]);

end;

writeln('Введите номера столбцов массива, которое хотите переставить');

read(x, y);

for j:=1 to l do

b[j]:=a[j, x];

for j:=1 to l do

c[j]:=a[j, y];

for j:=1 to l do

a[j, y]:=b[j];

for j:=1 to l do

a[j, x]:=c[j];

for i:=1 to k do

begin for j:=1 to l do write(' A[',i,',',j,']= ' ,a[i, j]); writeln; end; end.