Задать вопрос
14 января, 13:16

Вывести строку, в которой записана сумма натуральных чисел, например '21+22+3'. Вычислить это выражение.

+5
Ответы (1)
  1. 14 января, 13:22
    0
    Простейший вариант программы, предполагающий, что строка записана абсолютно верно и содержит только числа, соединенные знаком "плюс".

    const

    digits=['0' ... '9'];

    var

    s, sn:string;

    i, err:integer;

    n, sum:longint;

    begin

    Write ('Введите числа, соединяя их знаком плюс: ') ;

    Readln (s) ;

    i:=2; sn:=s[1]; sum:=0;

    while i<=Length (s) do begin

    if s[i] in digits then sn:=sn+s[i]

    else begin

    Val (sn, n, err) ;

    sum:=sum+n;

    sn:=''

    end;

    Inc (i)

    end;

    Val (sn, n, err) ;

    sum:=sum+n;

    Writeln ('Сумма равна ', sum)

    end.

    Тестовое решение:

    Введите числа, соединяя их знаком плюс: 21+22+3

    Сумма равна 46
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Вывести строку, в которой записана сумма натуральных чисел, например '21+22+3'. Вычислить это выражение. ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы