Я застрял в этой программе. Какая программа состоит в том, чтобы взять целое число от пользователя и отобразить все число, оставшееся после резки четных чисел.Как это продолжить, пока
int main(){
long n, minder=0;
int cdonr, power=1;
cout<<"Give a positive number "<<endl;
cin>>n;
while (n>0){
cdonr=n%10;
if(cdonr % 2 != 0){
minder=minder+cdonr*power;
power=power*10;
}
n=n/10;
}
cout<<"The number that is left after all even number " << endl;
cout<<minder<<endl;
cout<<"Give a positive nr "<<endl;
cin>>n;
}
Может кто-нибудь помочь мне с этим, потому что после того, как он разделил первые числа, он не дает ответа на втором.
Благодаря людям на этой общине это ответ
#include<iostream>
using namespace std;
int main() {
long n, minder = 0;
int cdonr, power = 1;
cout << "Give a positive number " << endl;
cin >> n;
while (n > 0) {
while (n > 0) {
cdonr = n % 10;
if (cdonr % 2 != 0) {
minder = minder + cdonr * power;
power = power * 10;
}
//always zero so we need a nested while loop
n = n/10;
}
cout << "The number that is left after all even number " << endl;
cout << minder << endl;
//have to set values to default so they do not hold previous values
minder = 0;
cdonr = 0;
power = 1;
//we can reprompt user for a value
//n will get set and it validates with the outer while loop
//this allows it to run as many times as valid inputs
cout << "Give a positive number " << endl;
cin >> n;
}
}
Какую ошибку делает его падение с? – Carcigenicate
Он функционирует на первом, но на втором не отвечает – UlikMadik
вход: 123 выход: 13 вход: 1234 вывод: ничего – UlikMadik