Informatică, întrebare adresată de stefanungureanu, 9 ani în urmă

Se da un nr natural cu cel mult 9 cifre. Sa se inlocuiasca fiecare cifra para din nr dat cu cifra impara cu o unitate mai mare.
Am incercat sa fac problema dar nu imi iese.. de ex pun 125 si imi da 126.. nu inteleg dece..
#include <iostream>
using namespace std;
int x,nr,c,p,z;
int main()
{
cin>>x;
nr=0;
p=1;
while(x!=0)
{
c=x%10;
if(c%2==0)
{ z=1;
nr=c*p+nr+z;
p=p*10;
}
if(c%2==1)
{
nr=c*p+nr;
}
x=x/10;
}
cout< return 0;
}

Răspunsuri la întrebare

Răspuns de stassahul
0
#include <iostream>

using namespace std;

int n;

int main()
{

    cin >> n;

    int k=1,o=0;

    while(n!=0)
    {

        if(n%10%2==0)
            o+=k*(n%10+1), k*=10;
        else
            o+=k*(n%10), k*=10;
        n/=10;
    }

    if(o==0) cout << 1;
    else cout << o;

    return 0;

}
Alte întrebări interesante