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

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

Показать ответ
Ответ:
20AKE04
20AKE04
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-бота