• составить процедуру вычисления значения целого числа по заданной строке символов являющейся записью этого числа в десятичной системи счисления(паскаль)

Ответы 1

  • несколько вариантов:program StrToInt;uses crt;var st : string; num : integer;function val1 (s : string) : integer;var i, res : integer; s1 : string;begin s1 := ''; res := 0; for i:=1 to length(s) do case s[i] of '0' : s1 := s1+'0'; '1' : s1 := s1+'1'; '2' : s1 := s1+'2'; '3' : s1 := s1+'3'; '4' : s1 := s1+'4'; '5' : s1 := s1+'5'; '6' : s1 := s1+'6'; '7' : s1 := s1+'7'; '8' : s1 := s1+'8'; '9' : s1 := s1+'9'; end; val (s1, res); if s[1]='-' then res := res * -1; val1 := res;end;function isnumber (ch : char) : boolean;var res : boolean;begin res := false; case ch of '0' : res := true; '1' : res := true; '2' : res := true; '3' : res := true; '4' : res := true; '5' : res := true; '6' : res := true; '7' : res := true; '8' : res := true; '9' : res := true; end; isnumber := res;end;function val2 (s : string) : integer;var i, res : integer;begin res := 0; for i:=1 to length(s) do begin if isnumber(s[i]) then res := res*10 + byte(s[i])-byte('0'); end; val2 := res;end;BEGIN write('Input a string: '); readln(st); val(st, num); writeln('Standart function: ', num); num := val1(st); writeln('Function VAL1: ', num); num := val2(st); writeln('Function VAL2: ', num);END.
    • Автор:

      elian4vdd
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years