program N68779260;
type
TVector = array[ 1..10 ] of real;
PVector = ^TVector;
TMatrix = array [ 1..10 ] of PVector;
PMatrix = ^TMatrix;
var
n, i, j:byte;
t:real;
a:PMatrix;
begin
randomize;
n := random(9) + 2;
writeln('Исходная матрица порядка ',n,':');
GetMem(a, n * sizeof(PVector));
for i := 1 to n do
begin
GetMem(a^[ i ], n * sizeof(real));
for j := 1 to n do
begin
a^[ i ]^[ j ] := (random(1999) - 999) / 100;
write(a^[ i ]^[ j ]:7:2)
end;
writeln
end;
for i := 1 to n div 2 do
for j := i to n - i do
begin
t := a^[ i ]^[ j ];
a^[ i ]^[ j ] := a^[ j ]^[ n - i + 1 ];
a^[ j ]^[ n - i + 1 ] := a^[ n - i + 1]^[ n - j + 1 ];
a^[ n - i + 1]^[ n - j + 1 ] := a^[ n - j + 1 ]^[ i ];
a^[ n - j + 1 ]^[ i ] := t
end;
writeln('Повернутая матрица: ');
for i := 1 to n do
begin
for j := 1 to n do
write(a^[ i ]^[ j ]:7:2);
writeln;
FreeMem(a^[ i ], n * sizeof(real))
end;
FreeMem(a, n * sizeof(PVector));
readln
end.
P.S. Программа пригодна для компиляции в Turbo Pascal и более новых средах, кроме PascalABC и PascalABC.NET, которым не нравится прямая работа с памятью.)))
Другие языки программирования и технологии
программа в Паскале. осуществить поворот матрицы против часовой стрелки на 90 градусов
Похожие вопросы
- Заполнить массив против часовой стрелки начиная с нижнего правого угла размер массива N*N и допустить возможность измене
- программа в паскале, составить обратную матрицу
- НАПИСАТЬ ПРОГРАММУ В ПАСКАЛЬ! Нахождение суммы чисел в матрице, ввод чисел осуществить из файла matrix.txt вывод на экран.
- Как повернуть матрицу на 90 градусов с++?
- как определить сколько минут осталось до совпадения минутной и часовой стрелок.
- Поворот массива на 90 градусов в с++
- Когда минутная и часовая стрелки образуют прямой угол?
- Программа на паскале! Помогите(бесплатно)
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- Информатика. Delphi (язык "Паскаль"). Помогите с матрицей, а то до автомата-тройки (ну, как бы экзамена) не допустят