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

КубайдулаФариза КубайдулаФариза    3   25.08.2019 09:00    1

Ответы
slava20syper slava20syper  09.08.2020 19:18
Программа работает при условии, что введённые числа целые.

#include <iostream>
#include <string>

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<S.length(); i++)
    {
            if(S[i] != ' '){
                 if(S[i] == '-'){z = -1; i++;}
                 else z = 1;
                 C = 0;
                 while((S[i] >='0')&&(S[i] <= '9'))
                 {
                        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";
    system("Pause");
    return 0;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика