Помогите С Переводом Из Delphe На С++

Тема в разделе "Общие вопросы по С и С++", создана пользователем stepansiy1, 10 янв 2012.

  1. stepansiy1

    stepansiy1 Гость

    Код (Delphi):
    var sn,s:string;
    l,k,kod:integer;
    v,p:real;
    begin
    writeln('Введите строку');
    readln(s);
    l:=length(s);
    p:=1; k:=1;
    repeat
    sn:='';
    while (s[k]>='0')and(s[k]<='9')and(k<=l) do
    begin
    sn:=sn+s[k];
    k:=k+1;
    end;
    if sn<>'' then
    begin
    val(sn,v,kod);
    p:=p*v;
    end;
    k:=k+1;
    until k>l;
    writeln(' p=',p);
    end.
    помогите, ато у меня с переводом не очень хорошо, а условие звучит так "Ввести строку и вычеслить произведение входящих в эту строку чисел
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    вот функция подсчёта суммы чисел входящих в строку(в строке числа через запятую)
    думаю остальное ты сам вполне сможешь дописать
    Код (C++):
    int sum_str(char *s)
    {
    char *u;
    int sum(0),elem(0),len(0);
    u=strtok(s,",\0");
    while(u!=0)
    {
    elem=0;
    len=strlen(u);
    if(u[0]!='-')
    {
    for(int i(0);i<len;i++)
    elem+=(u[i]-48)*pow(10.,len-i-1);
    }
    else
    {
    for(int i(1);i<len;i++)
    elem+=(u[i]-48)*pow(10.,len-i-1);
    elem*=-1;
    }
    sum+=elem;
    u=strtok(NULL,",\0");
    }
    return sum;
    }
     
Загрузка...

Поделиться этой страницей