Вопрос задан 17.01.2020 в 21:01. Предмет Информатика. Спрашивает Добрых Дима.

Pascal, цикл While или Repeat Ввести число. Получить другое число, путем удаления единиц, сохранив

порядок следования оставшихся цифр.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Никитина-Дикова Ольга.
//fromStudent
//без строк
var
n, nn: longint;
i : byte;

function pow (p: longint; k: byte):longint;
var j : byte;
sum : longint;
begin
sum:=1;
if k>0 then for j:=1 to k do sum:=sum*p;
pow:=sum;
end;

begin
write ('Введите число: ');
readln (n);

while n>0 do
begin
    if (n mod 10)<>1 then
    begin
    inc (nn, pow (10, i)*(n mod 10));
    inc (i);
    end;
n:=n div 10;
end;

write ('Полученное число: ', nn);
end.




0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Я могу помочь вам с задачей на языке программирования Pascal. Ваша задача состоит в том, чтобы ввести число и получить другое число, путем удаления единиц, сохранив порядок следования оставшихся цифр. Например, если вы введете 213412, то результат должен быть 2342.

Для решения этой задачи вы можете использовать цикл while или repeat. Цикл while повторяет набор операторов, пока условие истинно. Цикл repeat повторяет набор операторов, пока условие ложно. Вы можете выбрать любой из этих циклов в зависимости от вашей логики.

Один из возможных способов решения задачи с использованием цикла while выглядит так:

```pascal var n, m, k: integer; begin readln(n); // вводим число n m := 0; // инициализируем переменную m, в которой будет храниться результат k := 1; // инициализируем переменную k, которая будет служить множителем для цифр while n > 0 do // пока n больше нуля begin if n mod 10 <> 1 then // если последняя цифра n не равна 1 begin m := m + (n mod 10) * k; // добавляем ее к m, умножая на k k := k * 10; // увеличиваем k в 10 раз end; n := n div 10; // отбрасываем последнюю цифру n end; writeln(m); // выводим результат m end. ```

Вы можете найти больше информации о циклах while и repeat на этих сайтах: [Операторы цикла while и repeat - PascalABC.NET](https://pascalabc.net/downloads/pabcnethelp/topics/LangGuide/Operators/while.html), [Операторы цикла While в Паскале и вложенные циклы](https://labs-org.ru/pascal-3_2/).

Надеюсь, это поможет вам с вашей задачей. Удачи!

0 0

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

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

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