Длинная арифметика. Ввод чисел с фильтром на символы

Для выполнения операций с «длинными» числами их нужно ввести в компьютер. Часто данные считывают как строки. В данном примере ввод числа происходит «поцифренно» и ведётся фильтрация ввода только для цифр (символы-буквы отсеиваются). Ввод числа заканчивается нажатием на Enter или по достижению максимальной длины числа.
Для работы подключен модуль CRT

Материал взят тут

 
uses crt;
const count=10000;//количество цифр в числе
var c:char;
     a,b:array[1..count] of byte;
     na,nb:integer;
     i,err:integer;
     
begin
writeln('Введите первое число, окончание ввода enter');
na:=0;
repeat
c:=readkey;
if c in ['0'..'9'] then
 begin
  write(c);
  na:=na+1; 
  val(c,a[na],err);
 end;
if (c=#13)or(na=count) then writeln;
until (c=#13)or(na=count) ;


writeln('Введите второе число, окончание ввода enter');
nb:=0;
repeat
c:=readkey;
if c in ['0'..'9'] then
 begin
  write(c);
  nb:=nb+1; 
  val(c,b[nb],err);
 end;
if (c=#13)or(nb=count) then writeln;
until (c=#13)or(nb=count) ;

Write('Первое число=');
for i:=1 to na do
write(a[i]);
writeln;
Write('Второе число=');
for i:=1 to nb do
write(b[i]);
writeln;

end.

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии