Delphivar a1, a2: array of integer; n, c, i: integer; procedure PrintDescending(a: array of integer); var i, j, max: integer; begin for i := 0 to Length(a) - 1 do begin for j := 0 to Length(a) - 1 do if a[j] > a[max] then max := j; Write(a[max], ' '); a[max] := -10001; end; end; begin //Запрашиваем ввод длины массива: Write('Введите длину массива: '); Read(n); //Устанавливаем длину массивов: SetLength(a1, n); SetLength(a2, n); //Заполняем первый массив случайными числами: for i := 0 to n - 1 do a1[i] := Random(201) - 100; //Заполняем второй массив только нечётными элементами первого: for i := 0 to n - 1 do if Abs(a1[i]) mod 2 = 1 then begin a2[c] := a1[i]; c := c + 1; end; //Урезаем второй массив: SetLength(a2, c); //Выводим первый массив: for i := 0 to n - 1 do Write(a1[i], ' '); Writeln; //Выводим второй массив в порядке убывания: if c = 0 then Write('Нечётных элементов нет.') else PrintDescending(a2); end.
Пример работы:
СергейНиколаевич
06.01.2021
Delphivar a1, a2: array of integer; n, c, i: integer; procedure PrintDescending(a: array of integer); var i, j, max: integer; begin for i := 0 to Length(a) - 1 do begin for j := 0 to Length(a) - 1 do if a[j] > a[max] then max := j; Write(a[max], ' '); a[max] := -10001; end; end; begin //Запрашиваем ввод длины массива: Write('Введите длину массива: '); Read(n); //Устанавливаем длину массивов: SetLength(a1, n); SetLength(a2, n); //Заполняем первый массив случайными числами: for i := 0 to n - 1 do a1[i] := Random(201) - 100; //Заполняем второй массив только нечётными элементами первого: for i := 0 to n - 1 do if Abs(a1[i]) mod 2 = 1 then begin a2[c] := a1[i]; c := c + 1; end; //Урезаем второй массив: SetLength(a2, c); //Выводим первый массив: for i := 0 to n - 1 do Write(a1[i], ' '); Writeln; //Выводим второй массив в порядке убывания: if c = 0 then Write('Нечётных элементов нет.') else PrintDescending(a2); end.
Пример работы: