Другие языки программирования и технологии

Помогите написать простенькие задачи в паскале

1. Даны натуральное n, действительные числа a1, … , an (все числа попарно различны). Поменять в этом массиве местами наименьший и последний элементы 2. Дана целочисленная квадратная матрица размером n*m. Написать программу, позволяющую поменять местами элементы, расположенные в верхней и нижней четвертях, ограниченные главной и побочной диагоналями (за исключением элементов, расположенных на диагоналях)
1 задача
var
A : array [1..100] of Integer;
N, Index, An : Integer;
begin
Write('Введите N < 100 : '); ReadLn(N);
{ генерируем массив уникальных чисел (не должно быть ни одного повторения) }
for Index := 1 to N do
begin
repeat
A[Index] := Random(1000) + 1;
for An := 1 to Index - 1 do
if A[Index] = A[An] then
A[Index] := 0;
until A[Index] <> 0;
Write(A[Index] :4);
end;
WriteLn;
{ ищем индекс самого маленького числа }
An := 1;
for Index := 2 to N do
if A[An] > A[Index] then
An := Index;
{ меняем местами An и последний элементы }
Index := A[An];
A[An] := A[N];
A[N] := Index;
{ выводим результат }
for Index := 1 to N do
Write(A[Index] :4);
WriteLn;
end.
Результат исполнения:
Введите N < 100 : 10
758 161 630 358 243 695 980 634 531 502
758 502 630 358 243 695 980 634 531 161
2 задача
const
N = 6;
var
A : array [1..N, 1..N] of Integer;
nomS, nomC : Integer;
tmp : Integer;
begin
{ заполняем }
WriteLn('Исходные данные: ');
for nomS := 1 to N do
begin
for nomC := 1 to N do
begin
A[nomS, nomC] := Random(100);
Write(A[nomS, nomC] :3);
end;
WriteLn;
end;
{ меняем верхнюю и нижнюю четверть }
for nomS := 1 to N div 2 do
for nomC := nomS + 1 to N - nomS do
begin
tmp := A[nomS, nomC];
A[nomS, nomC] := A[N + 1 - nomS, nomC];
A[N + 1 - nomS, nomC] := tmp;
end;
{ выводим результат }
WriteLn('Результат: ');
for nomS := 1 to N do
begin
for nomC := 1 to N do
Write(A[nomS, nomC] :3);
WriteLn;
end;
end.
Результат исполнения для N = 6:
Исходные данные:
75 20 56 62 0 91
65 67 46 15 62 65
10 33 22 73 76 28
98 66 25 70 64 3
41 0 67 79 38 89
46 27 3 26 85 82
Результат:
75 27 3 26 85 91
65 67 67 79 62 65
10 33 22 73 76 28
98 66 25 70 64 3
41 0 46 15 38 89
46 20 56 62 0 82
Результат исполнения для N = 7:
Исходные данные:
7 47 14 8 58 14 60
72 9 0 28 46 18 96
85 2 26 54 78 55 58
64 78 39 36 77 54 74
1 75 61 3 41 45 57
70 96 16 42 45 14 21
19 64 45 18 69 90 51
Результат:
7 64 45 18 69 90 60
72 9 16 42 45 18 96
85 2 26 3 78 55 58
64 78 39 36 77 54 74
1 75 61 54 41 45 57
70 96 0 28 46 14 21
19 47 14 8 58 14 51
|™Id 140793641™|
|™Id 140793641™|
51 178
Лучший ответ