Лабораторная работа 13 Работа в среде Турбо Паскаль. Двумерные массивы. Замена строк и столбцов в матрице. Транспонирование матрицы.
Пример 13.1 Поменять местами первую и вторую строки матрицы A( 3, 3). Program Pr_13_1; const m=3; n=3; var a:array[1..m,1..n] of real; i,j:integer; buf:real; begin writeln('vvedite massiv'); for i:=1 to m do for j:=1 to n do read (a[i,j]); writeln('ishodnaja matrica'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; for i:=1 to m do for j:=1 to n do begin buf:=a[1,j]; a[1,j]:=a[2,j]; a[2,j]:=buf; end; writeln('preobrazovannaja matrica'); begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; end.
Пример 13.1 (Продолжение). 1) Организовать по программе ввод двумерного массива А(3,3) : ) Как описывается двумерный массив в программе? 3) В каком виде вводится задан- ный массив (строка или стол- бец)? 4) Объяснить работу програм- мы. 5) Как надо изменить програм- му, чтобы организовать ввод массива в один столбец. 6) Провести вычисление по программе. 7) Изменить порядок элементов в матрице и провести новое вычисление.
Пример 13.2 Поменять местами первый и второй столбцы матрицы А(3, 3). Program Pr_13_2; const m=3; n=3; var a:array[1..m,1..n] of real; i,j:integer; buf:real; begin writeln('vvedite massiv'); for i:=1 to m do for j:=1 to n do read (a[i,j]); writeln('ishodnaja matrica'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; for i:=1 to m do for j:=1 to n do begin buf:=a[i,1]; a[i,1]:=a[i,2]; a[i,2]:=buf; end; writeln('preobrazovannaja matrica'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; end.
Пример 13.2 (Продолжение). 1) Организовать по программе ввод двумерного массива А(3,3) : ) Как описывается двумерный массив в программе? 3) В каком виде вводится задан- ный массив (строка или стол- бец)? 4) Объяснить работу програм- мы. 5) Как надо изменить програм- му, чтобы организовать ввод массива в один столбец. 6) Провести вычисление по программе. 7) Изменить порядок элементов в матрице и провести новое вычисление.
Пример 13.3 Транспонировать матрицу А(3, 3). Program Pr_13_3; const m=3; n=3; var a:array[1..m,1..n] of real; i,j:integer; buf:real; begin writeln('vvedite massiv'); for i:=1 to m do for j:=1 to n do read (a[i,j]); writeln('ishodnaja matrica'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; for i:=1 to m do for j:=i+1 to n do begin buf:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=buf; end; writeln('preobrazovannaja matrica'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; end.
Пример 13.3 (Продолжение). 1) Организовать по программе ввод двумерного массива А(3,3) : ) Как описывается двумерный массив в программе? 3) В каком виде вводится задан- ный массив (строка или стол- бец)? 4) Объяснить работу програм- мы. 5) Как надо изменить програм- му, чтобы организовать ввод массива в один столбец. 6) Провести вычисление по программе. 7) Изменить порядок элементов в матрице и провести новое вычисление.