В паскале я написал программу что бы 3 значное число разбилось на единицы, десятки и сотни, а потом написал что бы эти 3 цифры перемножились, а он перемножает не только эти 3 цифры, но и цифры 10 и 100 которые я использовал что бы разбить число на десятки сотни и единицы, как исправить? (вот если что program qq;
Var
x: integer;
a,b:real;
begin
readln(x);
writeln('Разряд единиц: ', x mod 10);
writeln('Разряд десятков: ', x mod 100 div 10);
writeln('Разряд сотен: ', x div 100);
a:=x+x+x;
b:=x*x*x;
writeln ('сумма = ',a);
writeln ('произведение = ',b);
end;)

16 Окт 2019 в 12:41
151 +1
0
Ответы
1

Для того чтобы перемножить только три цифры, которые вы разбили на единицы, десятки и сотни, вам необходимо создать отдельные переменные для каждой из этих цифр и затем перемножить их. Вот исправленный код программы:

Program qq;
Var
x, units, tens, hundreds: integer;
product: integer;
begin
ReadLn(x);
units := x mod 10;
tens := x mod 100 div 10;
hundreds := x div 100;
product := units * tens * hundreds;
writeln('Разряд единиц: ', units);
writeln('Разряд десятков: ', tens);
writeln('Разряд сотен: ', hundreds);
writeln('Произведение = ', product);
end.

Теперь программа будет правильно перемножать только три цифры, которые вы разбили на единицы, десятки и сотни.

19 Апр 2024 в 10:54
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир