19+ 1. из массива размером n удалите все элементы, которые встречаются более одного раза. 2. пользователь вводит массив, предварительно указав его размер. поменяйте местами максимальный и минимальный элементы массива. 3. транспортируйте матрицу размером n×m (поменяйте местами строки и столбцы).
Первая программа:
Const
N = 13;
Var
A,B:array[1..N] of integer;
i,j,m:integer;
k:byte;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
Begin
A[i]:=random(N);
Write(' ',A[i])
End;
WriteLn;
Write('Уникальные элементы:');
m:=0;
For i:= 1 to N do
Begin
k:=1;
For j:= 1 to N do
if i<>j then
if A[i]=A[j] then k:=0;
if k=1 then
Begin
m:=m+1;
B[m]:=A[i];
End
End;
For m:=1 to m do
Begin
A[m]:=B[m];
Write(' ',A[m])
End;
End.
Пример работы программы:
Исходный массив: 3 7 11 11 11 0 9 3 9 9 10 1 4
Уникальные элементы: 7 0 10 1 4
Вторая программа:
Var
A:array[1..10000] of integer;
n,Min,Max,B:integer;
Begin
Write('Введите размерность массива: ');ReadLn(n);
Write('Введите массив A(',n,'): ');
For n:= 1 to n do
Read(A[n]);
Min:=1;
Max:=1;
For n:= 2 to n do
Begin
if A[n]<Min then Min:=n;
if A[n]>Max then Max:=n;
End;
WriteLn('Min(A) = A[',Min,'] = ',A[Min]);
WriteLn('Max(A) = A[',Max,'] = ',A[Max]);
B:=A[Max];
A[Max]:=A[Min];
A[Min]:=B;
Write('A(',n,'):');
For n:= 1 to n do
Write(' ',A[n])
End.
Пример работы программы:
Введите размерность массива: 7
Введите массив A(7): 1 3 4 6 7 5 2
Min(A) = A[1] = 1
Max(A) = A[5] = 7
A(7): 7 3 4 6 1 5 2
Третья программа:
Const
n = 3;
m = 4;
Var
A:array[1..n,1..m] of integer;
B:array[1..m,1..n] of integer;
i,j:integer;
Begin
Randomize;
WriteLn('Исходная матрица:');
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn;
End;
WriteLn;
WriteLn('Транспонированная матрица:');
For i:= 1 to M do
Begin
For j:= 1 to N do
Begin
B[i,j]:=A[j,i];
Write(B[i,j]:3,' ')
End;
WriteLn
End;
End.
Пример работы программы:
Исходная матрица:
10 3 10 1
-4 9 -9 2
-1 4 2 1
Транспонированная матрица:
10 -4 -1
3 9 4
10 -9 2
1 2 1