1. Имеется одномерный массив размерностью 20, заполненный рандомными числами на отрезке

1. Имеется одномерный массив размерностью 20, заполненный рандомными числами на отрезке от 1 до 20. Нужно удалить из него наибольший и малый элементы
Примечание:
Метод удаления:
сдвигаются все элементы на 1 позицию на лево, начиная с элемента, значение которого оказалось наибольшим;
последнему элементу присваивается значение 0;
при выводе массива уменьшается количество выводимых элементов на 1.
Пример
11 20 15 9 14 10
Удаление элемента 2
11 15 9 14 10 0
Вывод
11 15 9 14 10

Выполнить сложение матрицы A[3x4 и матрицы В[3x4], заполненных случайными конкретными числами В Приобретенной матрице С перераспределить элементы в столбцах последующим образом:
отсортировать первую строку матрицы по убыванию;
другие элементы каждого столбца обязаны переместиться в тот же столбец, куда переместился их 1-ый (верхний) элемент, т.е. следовать за ним.

Задать свой вопрос
1 ответ
Const
   N = 20;
Var
   A:array[1..N] of integer;
   i,M:integer;
Begin
Randomize;
Write('Начальный массив:');
M:=1;
For i:= 1 to N do
    Begin
    A[i]:=random(N+1);
    Write(' ',A[i]);
    if A[i] gt; A[M] then M:=i;
    End;
WriteLn;
WriteLn('Max = ',A[M],'[',M,']');
if M lt; N then
   For i:= M to N-1 do
       A[i]:=A[i+1];
M:=1;
For i:= 1 to N-1 do
    if A[i] lt; A[M] then M:=i;
WriteLn('Min = ',A[M],'[',M,']');
if M lt; N then
   For i:= M to N-1 do
       A[i]:=A[i+1];
Write('После удаления Max и Min:');
For i:= 1 to N-2 do
    Write(' ',A[i])
End.



Const
   N = 3;
   M = 4;
Var
   A,B,C:array[1..N,1..M] of shortint;
   i,j,Max,t:integer;
Begin
Randomize;
WriteLn('Матрица A:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(19)-9;
        Write(A[i,j]:2,' ')
        End;
    WriteLn
    End;
WriteLn('Матрица B:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        B[i,j]:=random(19)-9;
        Write(B[i,j]:2,' ');
        End;
    WriteLn
    End;
WriteLn('A+B:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        C[i,j]:=A[i,j]+B[i,j];
        Write(C[i,j]:3,' ');
        End;
    WriteLn
    End;
For i:= 1 to N do
    Begin
    Max:=i;
    For j:= i+1 to M do
        if C[1,j] gt; C[1,Max] then Max:=j;
    For j:= 1 to N do
        Begin
        t:=C[j,Max];
        C[j,Max]:=C[j,i];
        C[j,i]:=t
        End;
    End;
WriteLn('Матрица C:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Write(C[i,j]:3,' ');
    WriteLn
    End;
ReadLn
End.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт