Итак, мне нужно написать программу, которая читает два целых числа и определяет, будет ли после удаления любого числа из первого int новый равен второму числу чтения (например, если входной код 123 и 12 он должен распечатать «Да», потому что после пересечения 3 эти два значения совпадают). Я думаю, что код, который я написал, правильный, но программа ничего не печатает. вот код:C++ Удаление числа из целого числа
#include <iostream>
using namespace std;
int main()
{
unsigned int a, b, temp, len = 0;
cin >> a >> b;
temp = a;
while(temp!=0)
{
temp = temp/10;
len++;
}
int k = 1, m = 0, p = 1;
while (k>len || m == b)
{
for (int i = 1; i<=len-k; i++)
p = p*10;
m = a/(p*10)*p + a%p;
if (m == b)
cout << "Yes" << endl;
if (k == len && m!=b)
cout << "No" << endl;
k++;
}
system ("pause");
return 0;
}
Правильный инструмент для решения таких проблем является ваш отладчик. Перед тем, как просить о переполнении стека, вы должны пропустить свой код по очереди *. Для получения дополнительной информации, пожалуйста, прочтите [Как отлаживать небольшие программы (Эрик Липперт)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Как минимум, вы должны \ [изменить] ваш вопрос, чтобы включить пример [Минимальный, полный и проверенный] (http://stackoverflow.com/help/mcve), который воспроизводит вашу проблему, а также замечания, сделанные вами в отладчик. –
«после удаления любого числа из первого числа int, новый равен второму целому числу чтения», Будет ли это не всегда быть истинным всякий раз, когда 'first_number> second_number' –
Нет, первое всегда должно быть больше - для Например, если у вас есть 123 и 12 в качестве входных данных, он должен напечатать «Да» - мы перечеркнули 3, а новые значения были равны – unfi