Задать вопрос
26 июля, 11:52

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

+2
Ответы (2)
  1. 26 июля, 13:38
    0
    Ты просто вывел на экран разряды, но никуда их не записал. Поэтому переменная x по прежнему хранит все число. Из за этого ты просто производил действия сложения и умножения с одним и тем же числом.

    Что бы все заработало присвой каким-нибудь переменным, значения которые ты выводил, и проводи действия уже над ними.
  2. 26 июля, 15:40
    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.
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «В паскале я написал программу что бы 3 значное число разбилось на единицы, десятки и сотни, а потом написал что бы эти 3 цифры ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы