Un număr y este numit frate mai mare al unui număr x dacă x și y au același număr de cifre și fiecare cifră
a lui y se poate obține din cifra aflată pe aceeași poziție în x adunând la aceasta valoarea 1.
Subprogramul frate are doi parametri:
• x, prin care primește un număr natural (x[0,109]);
• y, prin care furnizează fratele mai mare al lui x, sau -1, dacă nu se poate obține un astfel de număr.
Scrieți definiția completă a subprogramului.
Exemplu: dacă x=1027, după apel y=2138, iar dacă x=9027, după apel y=-1.
Răspunsuri la întrebare
Răspuns de
8
Răspuns:
void frate(int x,int &y)
{
int a[11],k=0,nrnou=0,ok=1;
while(x)
{
a[k]=x%10+1;
if( a[k]>=9 )
ok=0;
x=x/10;
k++;
}
if(ok==0) y=-1;
else {
int p=1;
for(int i=0; i<k ;i++)
{
nrnou=nrnou+a[i]*p;
p=p*10;
}
y=nrnou;
}
}
+ main
int x,y=0;
cin>>x;
frate(x,y);
cout<<y;
return 0;
Explicație: Cred ca asa e bine , am stat ceva pe ea :)
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
9 ani în urmă