С++ В строковую переменную через пробел записаны числа. Найти их произведение и...

0 голосов
43 просмотров

С++ В строковую переменную через пробел записаны числа. Найти их произведение и преобразовать строку к виду: Число * Число *...* Число = Результат. Помогите пожалуйста


Информатика (15 баллов) | 43 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Программа работает при условии, что введённые числа целые.

#include
#include

using namespace std;

int main()
{
    string S,P;
    char c[10000] = "";
    int C,z;
    double R = 1;
    getline(cin, S);
    S+=' ';
    for(int i = 0; i    {
            if(S[i] != ' '){
                 if(S[i] == '-'){z = -1; i++;}
                 else z = 1;
                 C = 0;
                 while((S[i] >='0')&&(S[i] <= '9'))<br>                 {
                        C = C*10 + (S[i] - '0');
                        i++;
                 }
                 C = C*z;
                 R*=C;
                 itoa(C,c,10);
                 if (z == -1)
                 {
                       P+='(';
                       P+=c;
                       P+=')';
                 }
                 else P+=c;
                 P+="*";
            }
    }
    P[P.length()-1] = '=';
    int d,s;
    P+=ecvt(R,4,&d,&s);
    S = P;
    cout << S << "\n";<br>    system("Pause");
    return 0;
}

(34.0k баллов)