В паскале я написал программу что бы 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
152 +1
0
Ответы
1

Проблема в том, что переменная "a" в вашем коде складывает число "x" три раза, а не разбивает число на единицы, десятки и сотни. Для того чтобы исправить программу и перемножить только единицы, десятки и сотни, вам нужно внести изменения в переменные "a" и "b".

Исправленный код будет выглядеть следующим образом:

Program qq;
Var
x: integer;
a, b: integer;
Begin
Readln(x);
Writeln('Разряд единиц: ', x mod 10);
Writeln('Разряд десятков: ', x mod 100 div 10);
Writeln('Разряд сотен: ', x div 100);
a := (x mod 10) * (x mod 100 div 10) * (x div 100);
b := (x mod 10) * (x mod 100 div 10) * (x div 100);
Writeln('Произведение = ',a);
End.

Теперь переменная "a" будет хранить произведение единиц, десятков и сотен заданного числа "x".

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