Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфа Шпора Экзамен.doc
Скачиваний:
2
Добавлен:
26.09.2019
Размер:
118.78 Кб
Скачать

5) Дана матрица а(NхN).

Получить новую матрицу на месте старой,

переставив при этом элементы

главной и побочной диагонали.

program num5;

const max = 100;

Var matrix: array[1..Max,1..Max] of real;

n, k, m, i, j: integer;

tmp: real;

begin

writeln( 'Введите размер матрицы N' );

readln(n);

{Ââîä}

k:=1;

for i:=1 to n do

for j:=1 to n do begin

matrix[i][j]:=k;

inc( k );

end;

{Вывод}

writeln;

writeln( 'Исходная матрица:' );

for i:=1 to n do begin

for j:=1 to n do begin

write( matrix[i][j], ' ' );

end;

writeln;

end;

{Решение}

m:=n;

for i:=1 to n do begin

tmp:=matrix[i][i];

matrix[i][i]:=matrix[i][m];

matrix[i][m]:=tmp;

dec(m);

end;

{Вывод}

writeln;

writeln( 'Решение:' );

for i:=1 to n do begin

for j:=1 to n do begin

write( matrix[i][j], ' ' );

end;

writeln;

end;

end.

6) Дано целое число n.

Сформировать матрицу

program num6;

type matrix = array[1..100,1..100] of integer;

Var I, j, k, n: integer;

a: matrix;

begin

{Создание матрицы}

for i:=1 to n do

for j:=1 to n do

a[i][j]:=0;

writeln( 'Введите N' );

readln(n);

{Решение}

k:=n;

for i:=1 to n do begin

for j:=i to n do begin

a[i][j]:=k;

dec(k);

end;

k:=n;

end;

{Вывод}

writeln;

writeln( 'Матрица:' );

for i:=1 to n do begin

for j:=1 to n do begin

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

end;

writeln;

end;

end.

7) Дана квадратная матрица а(NхN).

Определить, является ли она симметричной

относительно главной диагонали.

Если да, то присвоить значение М=1,

в противном случае М=0.

program num7;

const max = 100;

Var a: array[1..Max,1..Max] of real;

I, j, n, m: integer;

begin

writeln( 'Введите размер матрицы N' );

readln(n);

{Ââîä}

for i:=1 to n do

for j:=1 to n do begin

read( a[i][j] );

end;

{Вывод}

writeln;

writeln( 'Исходная матрица:' );

for i:=1 to n do begin

for j:=1 to n do begin

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

end;

writeln;

end;

{Решение}

m:=1;

for i:=1 to n do

for j:=1 to n do begin

if a[i][j] <> a[j][i] then begin

m:=0;

break;

end;

end;

if m=1 then

writeln( 'Матрица симметрична отностильно главной диагонали!' )

else

writeln( 'Матрица не симметрична относительно главной диагонали!' );

end.

8) Дана квадратная матрица в(NхN).

Если она является симметричной относительно

главной диагонали, то все диагональные элементы

заменить на 0,

в противном случае на N.

program num8;

const max = 100;

Var a: array[1..Max,1..Max] of real;

I, j, n, m: integer;

begin

writeln( 'Введите размер матрицы N' );

readln(n);

{Ââîä}

for i:=1 to n do

for j:=1 to n do begin

read( a[i][j] );

end;

{Вывод}

writeln;

writeln( 'Исходная матрица:' );

for i:=1 to n do begin

for j:=1 to n do begin

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

end;

writeln;

end;

{Решение}

m:=1;

for i:=1 to n do

for j:=1 to n do begin

if a[i][j] <> a[j][i] then begin

m:=0;

break;

end;

end;

if m=1 then

for i:=1 to n do

a[i][i]:=0

else

for i:=1 to n do

a[i][i]:=n;

{Вывод}

writeln;

writeln( 'Результат:' );

for i:=1 to n do begin

for j:=1 to n do begin

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

end;

writeln;

end;

end.