Вопрос задан 30.07.2023 в 21:36. Предмет Информатика. Спрашивает Копинець Діма.

В паскале я написал программу что бы 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;)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мороз Инна.
Ты просто вывел на экран разряды, но никуда их не записал. Поэтому переменная x по прежнему хранит все число. Из за этого ты просто производил действия сложения и умножения с одним и тем же числом.
Что бы все заработало присвой каким-нибудь переменным, значения которые ты выводил, и проводи действия уже над ними.
0 0
Отвечает Казаков Руслан.
Вот рабочая программа:
var
x,a,b,c,proiz,sum:integer;
begin
WriteLn('Введите 3-ех значное число');read(x);
a:=x mod 10;
b:= (x div 10) mod 10;
c:=x div 100;
sum:=a+b+c;
proiz:=a*b*c;
WriteLn('Произведение разрядов=', proiz);
WriteLn('Сумма разрядов=', sum);
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

pascal
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; // Выводим результаты writeln('Разряд единиц: ', units); writeln('Разряд десятков: ', tens); writeln('Разряд сотен: ', hundreds); // Вычисляем сумму и произведение product := units * tens * hundreds; writeln('Произведение = ', product); end.

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос