Răspuns :
Am niste nelamuriri in legătură cu cerința asa ca voi face două subprograme pe care le voi explica mai jos.
int subp1 (int &n)
{
int aux;
aux=n;
while ( aux>9)
{
aux=aux/10;
}
n=aux*2;
return n;
}
subprogramul scris mai sus, ia un numar intreg n. Declarăm un aux căruia ii atribuim valoarea lui n. Îl "ciopârțim" pe aux până când ii aflăm prima cifră si apoi atribuim lui n valoarea cifrei respective inmultita cu 2
int subp2 (int &n)
{
int aux, cnt=0, a [23];
aux=n;
while ( aux!=0)
{
cnt=cnt++;
a [cnt]= aux%10;
aux=aux/10;
}
aux=a[cnt]*2;
for (int i=cnt-1; i>0; i--)
{
aux=aux*10 +a [i];
}
n=aux;
return n;
}
subp2, ia numărul n si ii alocă valoarea lui aux. Aux-ul este descompus in cifre, iar acestea sunt puse intr-un tablou unidimensional a, iar cnt reprezintă numărul de cifre. Reconstruim aux-ul, dublandu-i prima cifră si apoi atribuim lui n valoarea lui aux.
Nu sunt un as al programării si sunt sigur ca există si variante mai eficiente ale acestor subprograme, dar sper ca ti-am fost de ajutor.
int subp1 (int &n)
{
int aux;
aux=n;
while ( aux>9)
{
aux=aux/10;
}
n=aux*2;
return n;
}
subprogramul scris mai sus, ia un numar intreg n. Declarăm un aux căruia ii atribuim valoarea lui n. Îl "ciopârțim" pe aux până când ii aflăm prima cifră si apoi atribuim lui n valoarea cifrei respective inmultita cu 2
int subp2 (int &n)
{
int aux, cnt=0, a [23];
aux=n;
while ( aux!=0)
{
cnt=cnt++;
a [cnt]= aux%10;
aux=aux/10;
}
aux=a[cnt]*2;
for (int i=cnt-1; i>0; i--)
{
aux=aux*10 +a [i];
}
n=aux;
return n;
}
subp2, ia numărul n si ii alocă valoarea lui aux. Aux-ul este descompus in cifre, iar acestea sunt puse intr-un tablou unidimensional a, iar cnt reprezintă numărul de cifre. Reconstruim aux-ul, dublandu-i prima cifră si apoi atribuim lui n valoarea lui aux.
Nu sunt un as al programării si sunt sigur ca există si variante mai eficiente ale acestor subprograme, dar sper ca ti-am fost de ajutor.
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!