
Требовалось написать программу, которая получает на входе натуральное число n и выводит число,
которое получается из n после удаления всех пятерок, порядок остальных цифр при этом не меняется. Программист торопился и написал программу неверно, найдите неверную строку и исправьте ее.var n, r, t:longint; d:integer;begin readln (n); r:=0; t:=1; while n>0 do begin d:=n mod 10; if d=5 then begin r:=r+d*t; t:=t+1 end; n:=n div 10; end;writeln (t);end.

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

d:integer;
begin
readln (n);
r:=0; t:=1;
while n>0 do begin
d:=n mod 10; if d=5 then begin 1 ошибка: надо вместо d=5 написать d<>5
r:=r+d*t;
t:=t+1 2 ошибка: надо вместо t+1 написать t*10
end;
n:=n div 10;
end;
writeln (t); 3 ошибка: надо вместо t написать r
end.



Программа, предоставленная вами, предназначена для удаления цифры 5 из введенного натурального числа n. Однако в ней есть несколько ошибок. Давайте разберем их.
1. Вам необходимо вывести число после удаления всех пятерок, а не значение переменной t.
2. В условии `if+d=5` нужно изменить `+` на `=` для правильной проверки равенства.
3. Внутри блока условия, где происходит удаление цифры 5, нужно изменить `r:=r+d*t;` на `r:=r*10+d;` для корректного формирования нового числа без пятерок.
Исправленный вариант программы:
```pascal var n, r, d: longint;
begin readln(n); r := 0;
while n > 0 do begin d := n mod 10; if d <> 5 then r := r * 10 + d;
n := n div 10; end;
writeln(r); end. ```
Теперь программа должна правильно удалять все пятерки из введенного числа и выводить результат.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili