В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
rimmabuketova
rimmabuketova
09.06.2021 09:09 •  Информатика

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

Показать ответ
Ответ:
Maks00p1
Maks00p1
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;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота