Вопрос задан 19.06.2023 в 13:21. Предмет Информатика. Спрашивает Линдеманн Тиль.

Добрый вечер! Товарищи информатики, помогите пожалуйста с задачей на С++. Требуется написать

программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при этом порядок следования цифр в этих числах.
0 0
Перейти к ответам

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

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

Ответ:

Объяснение:

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <vector>

#include <queue>

#include <cstdio>

#include <algorithm>

#include <string>

#include <cmath>

#include <iterator>

#include <map>

#include <set>

using namespace std;

int32_t main()

{

#ifdef _DEBUG

//freopen("input.txt", "r", stdin);

#endif // _DEBUG

int a, b;

cin >> a >> b;

vector<int> ans;

vector<int> b1;

int r = a;

while (r > 0)

{

 ans.push_back(r % 10);

 r /= 10;

}

r = b;

while (r > 0)

{

 b1.push_back(r % 10);

 r /= 10;

}

int now = 0;

reverse(ans.begin(), ans.end());

reverse(b1.begin(), b1.end());

for (int i = 0; i < ans.size() && now < b1.size(); i++)

{

 

 if (ans[i] > b1[now])

 {

  ans.insert(ans.begin() + i, b1[now]);

  now++;

 }

}

 

for (; now < b1.size(); now++)

{

 ans.push_back(b1[now]);

}

for (auto i : ans)

{

 cout << i;

}

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Добрый вечер! Конечно, я помогу вам с задачей.

Для решения этой задачи можно использовать следующий подход:

1. Считываем два натуральных числа с помощью функции `cin`. 2. Преобразуем числа в строки с помощью функции `to_string`. 3. Объединяем строки в одну с помощью оператора `+`. 4. Сортируем полученную строку по возрастанию с помощью функции `sort`. 5. Выводим отсортированную строку на экран с помощью функции `cout`.

Вот пример кода на C++, реализующий данный подход:

```cpp #include #include #include

int main() { // Считываем два натуральных числа int num1, num2; std::cout << "Введите первое число: "; std::cin >> num1; std::cout << "Введите второе число: "; std::cin >> num2;

// Преобразуем числа в строки std::string str1 = std::to_string(num1); std::string str2 = std::to_string(num2);

// Объединяем строки в одну std::string combinedStr = str1 + str2;

// Сортируем полученную строку std::sort(combinedStr.begin(), combinedStr.end());

// Выводим отсортированную строку std::cout << "Наименьшее возможное число: " << combinedStr << std::endl;

return 0; } ```

Надеюсь, это поможет вам решить задачу! Если у вас возникнут еще вопросы, не стесняйтесь задавать.

0 0

Похожие вопросы

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

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

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