Требовалось написать программу, которая получает на входе натуральное число 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.
Ответы на вопрос
Ответил Аноним
0
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 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.
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.
Ответил Аноним
0
Такой вопрос: почему t*10?
Ответил Аноним
0
В этой переменной хранится как бы разряд цифры. Например, 253. 5 выкидываем, а двойка теперь обозначать будет не число сотен, а число десятков. Не знаю, как это грамотно по-научному объяснить, ну вот так как-то. Понятно так?
Ответил Аноним
0
Когда слева направо по числу идем в t заносим сначала 1, потом 10, потом 100, ... Т.е. запоминаем, что работаем с единицами, десятками, сотнями.
Ответил Аноним
0
Блин((( идем справа налево!!!
Новые вопросы
Математика,
2 года назад
Английский язык,
2 года назад
Обществознание,
10 лет назад
Литература,
10 лет назад
Алгебра,
10 лет назад