👤

Subprogramul inserare are doi parametri:
-n, prin care primește un număr natural (n[10,105]);
-d, prin care furnizează numărul obținut prin inserarea între două cifre de aceeaşi paritate lui n, media lor aritmetică sau -1 dacă acesta nu conţine două cifre de aceeaşi paritate alăturate.
Scrieți definiția completă a subprogramului.


Răspuns :

void inserare(int n,int &d)

{

int k=0,p=10,a,b,ok=0;

a=n%10;

n=n/10;

k=a;

while(n>0)

{

b=n%10;

n=n/10;

if (a%2==b%2)

{k=k+p*((a+b)/2);

p=p*10;

k=k+p*b;

p=p*10;

ok++;

}

else

{k=k+p*b;

p=p*10;

}

b=a;

}

if (ok==0)d=-1;

else d=k;

}