Обратите внимание на то, что использование переменных c,k,j совершенно не нужно. Также в переменных
max,min лучше запоминать индексы, чтобы затем выполнить реверс.
const n = 10;
type mass = array[1..n] of integer;
var
a: mass;
i, max,min: integer;
begin
randomize;
for i := 1 to n do
A[i] := random(20)-10;
write(a[i]:3);
writeln();
// В переменных max и min будем запоминать
// ИНДЕКСЫ макс. и мин. элементов
max := 1;
min := 1;
for i := 1 to n do begin
if a[i] > a[max] then max := i;
if a[i] < a[min] then min := i;
end;
Writeln('A[',max,'] = ',a[max]);
Writeln('A[',min,'] = ',a[min]);
// Меняем местами max и min
i := a[max];
a[max]:=a[min];
a[min]:=i;
// Выводим результат на экран
for i := 1 to n do write(a[i]:3);
end.
===== PascalABC.NET =====
function СуммаЦифр(Число: integer): integer;
Result := 0;
while Число > 0 do
Result += Число mod 10;
Число := Число div 10
end
procedure ЧислоДействий(Число: integer; var Действий: integer);
Число := Abs(Число); // вдруг кто-то задал отрицательное?
Действий := 0;
Число -= СуммаЦифр(Число);
Inc(Действий)
if Число <> 0 then // невозможно получить 0
Действий := -1
var Число := ReadInteger('Введите число:');
var СделаноДействий := 0;
ЧислоДействий(Число, СделаноДействий);
if СделаноДействий >= 0 then
Print('Сделано действий:', СделаноДействий)
else
Print('Невозможно получить ноль')
Обратите внимание на то, что использование переменных c,k,j совершенно не нужно. Также в переменных
max,min лучше запоминать индексы, чтобы затем выполнить реверс.
const n = 10;
type mass = array[1..n] of integer;
var
a: mass;
i, max,min: integer;
begin
randomize;
for i := 1 to n do
A[i] := random(20)-10;
for i := 1 to n do
write(a[i]:3);
writeln();
// В переменных max и min будем запоминать
// ИНДЕКСЫ макс. и мин. элементов
max := 1;
min := 1;
for i := 1 to n do begin
if a[i] > a[max] then max := i;
if a[i] < a[min] then min := i;
end;
Writeln('A[',max,'] = ',a[max]);
Writeln('A[',min,'] = ',a[min]);
// Меняем местами max и min
i := a[max];
a[max]:=a[min];
a[min]:=i;
// Выводим результат на экран
for i := 1 to n do write(a[i]:3);
end.
===== PascalABC.NET =====
function СуммаЦифр(Число: integer): integer;
begin
Result := 0;
while Число > 0 do
begin
Result += Число mod 10;
Число := Число div 10
end
end;
procedure ЧислоДействий(Число: integer; var Действий: integer);
begin
Число := Abs(Число); // вдруг кто-то задал отрицательное?
Действий := 0;
while Число > 0 do
begin
Число -= СуммаЦифр(Число);
Inc(Действий)
end;
if Число <> 0 then // невозможно получить 0
Действий := -1
end;
begin
var Число := ReadInteger('Введите число:');
var СделаноДействий := 0;
ЧислоДействий(Число, СделаноДействий);
if СделаноДействий >= 0 then
Print('Сделано действий:', СделаноДействий)
else
Print('Невозможно получить ноль')
end.