Задать вопрос
2 августа, 07:51

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

+5
Ответы (1)
  1. 2 августа, 09:13
    0
    Я здесь и для * (умножения тоже сделал)

    program gt;

    label 1;

    var a:string;

    i, l, s, s2, s3, j:longint;

    begin

    read (a) ; l:=length (a) ; s:=0; s2:=0;

    for i:=1 to l do

    begin

    if (a[i]='+') or (a[i]='-') or (a[i]='*') then goto 1;

    end;

    1:

    for j:=1 to i-1 do

    begin

    if 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 do

    begin

    if 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;

    begin

    read (a) ; l:=length (a) ; s:=0; s2:=0;

    for i:=1 to l do

    begin

    if (a[i]='+') or (a[i]='-') or (a[i]='*') then goto 1;

    end;

    1:

    for j:=1 to i-1 do

    begin

    s:=s*10+ord (a[j]) - 48;

    end;

    for j:=i+1 to l do

    begin

    s2:=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.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Строка содержит арифметическое выражение в виде двух чисел, между которыми стоит знак арифметического действия ("+" или "-"). Составьте ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы