Răspuns :
#include <iostream>
#include <fstream>
int a,b,k;using namespace std;
void S1(int &a, int &b)///aici avem apel prin referinta, insemnand ca a si b vor pastra valorile la iesirea din functia S1
{
int c=a%10; ///atasam ultima cifra a lui a la b si ii taiem o unitate lui a;
a/=10;
b=b*10+c;
}
int S2(int k)
{ ///aici construim un nou numar doar cu cifrele impare ale lui k;
int nr=0;
int p=1;
while(k)
{
if(k%10%2==1)
{
nr=nr+(k%10)*p;
p=p*10;
}
k/=10;
}
return nr;
}
int main()
{
int x,y=0; /*citim din fisier pe x(sau n) si ii atribuim lui x valoarea functiei s2 iar apoi cat timp e dif de 0
ne folosim de functia s1 care practic face inversul lui a si il afisam pe y, pe invers */
ifstream f("numar.in");
f>>x;
f.close();
x=S2(x);
while(x)
S1(x,y);
cout<<y;
}
#include <fstream>
int a,b,k;using namespace std;
void S1(int &a, int &b)///aici avem apel prin referinta, insemnand ca a si b vor pastra valorile la iesirea din functia S1
{
int c=a%10; ///atasam ultima cifra a lui a la b si ii taiem o unitate lui a;
a/=10;
b=b*10+c;
}
int S2(int k)
{ ///aici construim un nou numar doar cu cifrele impare ale lui k;
int nr=0;
int p=1;
while(k)
{
if(k%10%2==1)
{
nr=nr+(k%10)*p;
p=p*10;
}
k/=10;
}
return nr;
}
int main()
{
int x,y=0; /*citim din fisier pe x(sau n) si ii atribuim lui x valoarea functiei s2 iar apoi cat timp e dif de 0
ne folosim de functia s1 care practic face inversul lui a si il afisam pe y, pe invers */
ifstream f("numar.in");
f>>x;
f.close();
x=S2(x);
while(x)
S1(x,y);
cout<<y;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!