Вопрос задан 29.03.2019 в 12:10. Предмет Информатика. Спрашивает Абалдуева Ксения.

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

строку к виду: Число * Число *...* Число = Результат. Помогите пожалуйста
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Троицкий Вадим.
Программа работает при условии, что введённые числа целые.

#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;
}
0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос