В паскале я написал программу что бы 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;)
Для того чтобы перемножить только три цифры, которые вы разбили на единицы, десятки и сотни, вам необходимо создать отдельные переменные для каждой из этих цифр и затем перемножить их. Вот исправленный код программы:
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.
Теперь программа будет правильно перемножать только три цифры, которые вы разбили на единицы, десятки и сотни.
Для того чтобы перемножить только три цифры, которые вы разбили на единицы, десятки и сотни, вам необходимо создать отдельные переменные для каждой из этих цифр и затем перемножить их. Вот исправленный код программы:
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.
Теперь программа будет правильно перемножать только три цифры, которые вы разбили на единицы, десятки и сотни.