Предмет: Информатика, автор: karnavalov244

Из натурального числа удалить заданную цифру. Число и цифру вводить с клавиатуры. Например, задано число 1487. Требуется удалить из него цифру 4. Получится число 187. (For и While)


pinguinbird: на каком языке писать?
karnavalov244: Pascal
pinguinbird: ок, попробуем

Ответы

Автор ответа: pinguinbird
1

с использованием цикла WHILE:

var i,x,z:longint;

   y:byte;

begin

   i:=1;

   z:=0;

   write('Введите натуральное число: '); readln(x);

   write('Введите цифру, которую требуется удалить (0..9): '); readln(y);

   x:=abs(x);

   while x > 0 do begin

       if x mod 10 <> y then begin

           z:=z + i * (x mod 10);

           i:=i * 10;

       end;

       x:=x div 10;

   end;

   write(z);

end.

с использованием цикла FOR:

var x,z:string;

   y:char;

   i:byte;

begin

   write('Введите натуральное число: '); readln(x);

   write('Введите цифру, которую требуется удалить (0..9): '); readln(y);

   for i:=1 to length(x) do begin

       if x[i] <> y then z:=z + x[i];

   end;

   write(z);

end.


karnavalov244: не получится так, что бы и for и while были в одном ?
pinguinbird: щас подумаю, просто будет избыточность и неоптимальность...сек
restIess: Тут наверно авторы хотят, чтобы двумя способами решили задачку
pinguinbird: тоже так думаю
karnavalov244: мб
pinguinbird: готово
karnavalov244: @pinguinbird
karnavalov244: оставь тогда, не мучайся, спасибо большое
pinguinbird: в первом случае работаем с числом, а во втором - со строкой
pinguinbird: не за что )
Похожие вопросы
Предмет: Русский язык, автор: Аноним
Предмет: Математика, автор: Правило111