Вводится трехзначное число, из него нужно удалить цифру 4 - Free Pascal
Формулировка задачи:
Здравствуйте!
Есть такая задача: "С клавиатуры вводится трехзначное число, из него нужно удалить цифру 4, если такая имеется. Пример ответа должен быть таков: Вводится 145, Результат: 15" Помогите пожалуйста, уже второй день мучаюсь.
Решение задачи: «Вводится трехзначное число, из него нужно удалить цифру 4»
textual
Листинг программы
const a:array[boolean]of byte=(1,10);
var n:integer;
begin
write('n = ');readln(n);
writeln((n div 100)*ord(n div 100<>4)*a[n div 10 mod 10<>4]*a[n mod 10<>4]+
(n div 10 mod 10)*ord(n div 10 mod 10<>4)*a[n mod 10<>4]+(n mod 10)*ord(n mod 10<>4));
end.
Объяснение кода листинга программы
- Объявление константы массива
aдля хранения булевых значений. - Объявление переменной
nдля хранения трехзначного числа. - Ввод значения переменной
nс помощью функцииreadln. - Формирование итогового вывода с помощью функции
writeln. - Расчет первого значения в итоговом выводе: (n div 100)ord(n div 100<>4)a[n div 10 mod 10<>4]*a[n mod 10<>4].
- Расчет второго значения в итоговом выводе: (n div 10 mod 10)ord(n div 10 mod 10<>4)a[n mod 10<>4].
- Расчет третьего значения в итоговом выводе: (n mod 10)*ord(n mod 10<>4).
- Сложение всех трех расчитанных значений.
- Вывод итогового значения на экран.