Var a, s,d,ed, ost: integer;
begin
a:=99;
repeat
a:=a+1;
s:= a div 100;
ost:= a mod 100;
if ost>9 then
begin
d:= ost div 10 ;
ost:=ost mod 10;
end else d:= 0;
if ost<10 then ed:=ost;
until (a<1000) and (a*a=((s+d+ed)*(s+d+ed)*(s+d+ed)));
writeln('это число: ',a:3);
end.
Решение:
const M = 10;
var a : array [1..M] of integer;
i,max, odd : integer;
begin
odd := 0;
{Заполнение массива}
for i := 1 to M do
begin
write('Input a[',i,']:' );
readln(a[i]);
end;
{Вывод массива на экран}
for i := 1 to M do
write(a[i]:2,' ');
writeln;
{Поиск максимального в массиве}
max := a[1];
for i := 2 to M do
if (a[i] > max) then
max := a[i];
writeln('Максимальный элемент массива: ',max);
{Поиск всех нечетных чисел в массиве и замена их на 1}
for i := 1 to M do
if (a[i] mod 2 = 1) then
begin
a[i] := 1;
odd := 666;
end;
{Вывод сообщения об отсутствии нечетных чисел}
if (odd = 0) then
writeln('В массиве нечетных чисел нет');
{Вывод преобразованного массива}
for i := 1 to M do
write(a[i]:2,' ');
writeln;
readln;
end.
В фигурных скобках - комментарии, из программы можно удалять безболезненно. M - количество элементов в массиве.
Контрольные примеры для массива из 10 элементов:
1) Массив "1 2 3 4 5 6 7 8 9 10" будет преобразован в "1 2 1 4 1 6 1 8 1 10", максимальный элемент (до преобразования) 10
2) Массив " 2 2 2 2 2 2 2 2 2 2" будет преобразован в " 2 2 2 2 2 2 2 2 2 2", на экран будет выведено сообщение "в массиве нечетных чисел нет", максимальный элемент 2
Алгоритмы-б)в)
Все остальное не является алгоритмом.