Объяснение:
Пользователь вводит трехзначное число. Программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, программа должна вывести на экран число 16, так как 3 + 4 + 9 = 16.
Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, то получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.
В языках программирования почти всегда есть две такие операции:
1) нахождение целого при делении нацело,
2) нахождение остатка при делении нацело.
В языке программирования Python v.3 первая операция обозначается // (двумя знаками деления), а вторая - % (знаком процента). Например:
>>> 34 // 10
3
>>> 34 % 10
4
Разбивка 5 и 10 и 14, потому что максимум 9+9=18
Подберем цифру старшего разряда, она должна быть самая большая
5-3 = 2
10-3 = 7
14-3 = 11 > 9 не подходит
Максимум 7 и формирует она число 10
Следующий разряд
5-6 = -1 не подходит
14-6 = 8
Максимум 8 и формирует число 14
Последнее
5-5 = 0
Результат 780
<span />
Var a:array[1..10] of integer;
k,n,i:integer;
min:INTEGER;
begin
randomize; N:=10; k:=0 {кол-во отрицательных элементов};
writeln ('исходный массив');
for i:=1 to N do
begin
if random(2) =1 then a[i]:=random(100)
else begin k:=k+1; a[i]:=-random(100); min:=a[I] end;
write(a[i]:5);
end;
writeln;
{поиск минимального положительного}
if (k<>0) or (k<>N) then {есть отрицательные или не все отрицательные}
begin
for i:=1 to N do
if (a[i]>0) and (a[i]<min) then min:=a[i];
{замена}
for i:=1 to N do
if (a[i]<0) then a[i]:=min;
end;
writeln('Новый массив')
for i:=1 to N do write(a[i]:5);
end.
ЦирКраНебОвал
цирк кран небо овал