Const n=20; type omas=array[1..n] of integer; Procedure Del (var z:omas; k:byte); var i:byte; begin for i:=k to n-1 do z[i]:=z[i+1]; z[n]:=0; end; var a:omas; i,b:integer; begin Randomize; for i:=1 to n do begin a[i]:=random(20); write(a[i]:4); end; writeln; b:=6; i:=1; while (i<=n)and(a[i]<>b) do i:=i+1; if i<=n then begin Del(a,i); writeln('Размерность массива = ',n-1); for i:=1 to n-1 do write(a[i]:4); writeln; end else writeln('Массив не изменился'); end. Пример: 12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18 Размерность массива = 19 12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Для записи максимального числа необходимо в наибольшем разряде числа записать самую большую цифру,то есть 9,поскольку это палиндром,то и последняя цифра будет 9. 9+9=18,39-18=21-сумма оставшихся пяти цифр.(Если использовать в числе две цифры 7, то сумма оставшихся трех цифр составит 7,а из этих трех цифр две 4 не получится ,а одна не удовлетворяет условие,поскольку на две цифры останется сумма 3.)В этом числе может быть только одна 7,и число выглядит так 9**7**9,а сумма неизвестных четырех цифр-14. среди этих четырех цифр две 4,тогда сумма двух оставшихся цифр-6,то есть это две 3.Осталось только записать это максимальное число. 9437349.Проверим 9+4+3+7+3+4+9=39
Вывод: 9 3 4 5
суть программы по строкам:
задаем переменную i равную 3
функция print печатает 9, по умолчанию после этой функции идет перенос на новую строку, функция end меняет перенос на пробел
функция while выполняет действия в теле функции пока условие верно, в данном случае пока i меньше 6
далее выводим i
прибавляем к i единицу
(причем последние две строки буду повторяться пока i меньше 6)