72

Строка содержит арифметическое выражение в виде двух чисел…

d0ber 13 августа 2022

Строка содержит арифметическое выражение в виде двух чисел, между которыми стоит знак арифметического действия ("+" или "-"). Составьте программу, которая предлагает ввести строку, выполняет данное арифметическое действие и выводит результат.

категория: информатика

89

Я здесь и для*(умножения тоже сделал) program gt; label 1; var a: string; i,l,s,s2,s3,j: longint; beginread (a); l: =length (a); s: =0; s2: =0; for i: =1 to l dobeginif (a[i]='+') or (a[i]='-') or (a[i]='*') then goto 1; end; 1: for j: =1 to i-1 dobeginif a[j]='1' then s: =s*10+1; if a[j]='2' then s: =s*10+2; if a[j]='3' then s: =s*10+3; if a[j]='4' then s: =s*10+4; if a[j]='5' then s: =s*10+5; if a[j]='6' then s: =s*10+6; if a[j]='7' then s: =s*10+7; if a[j]='8' then s: =s*10+8; if a[j]='9' then s: =s*10+9; if a[j]='0' then s: =s*10+0; end; for j: =i+1 to l dobeginif a[j]='1' then s2: =s2*10+1; if a[j]='2' then s2: =s2*10+2; if a[j]='3' then s2: =s2*10+3; if a[j]='4' then s2: =s2*10+4; if a[j]='5' then s2: =s2*10+5; if a[j]='6' then s2: =s2*10+6; if a[j]='7' then s2: =s2*10+7; if a[j]='8' then s2: =s2*10+8; if a[j]='9' then s2: =s2*10+9; if a[j]='0' then s2: =s2*10+0; end; if a[i]='+' then s3: =s+s2; if a[i]='-' then s3: =s-s2; if a[i]='*' then s3: =s*s2; writeln (s3); end.2) более прощеprogram gt; label 1; var a: string; i,l,s,s2,s3,j: longint; beginread (a); l: =length (a); s: =0; s2: =0; for i: =1 to l dobeginif (a[i]='+') or (a[i]='-') or (a[i]='*') then goto 1; end; 1: for j: =1 to i-1 dobegins: =s*10+ord (a[j]) -48; end; for j: =i+1 to l dobegins2: =s2*10+ord (a[j]) -48; end; if a[i]='+' then s3: =s+s2; if a[i]='-' then s3: =s-s2; if a[i]='*' then s3: =s*s2; writeln (s3); end.

пользователи выбрали этот ответ лучшим

Знаете другой ответ?
Другие вопросы по информатике

ПОПУЛЯРНОЕ
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее...