Informatică, întrebare adresată de Hamzaru, 8 ani în urmă

Subprogramul inserare are un singur parametru, n, prin care primeşte un număr natural n∈[10,10^{5}). Subprogramul furnizează prin același parametru numărul obținut din n prin inserarea, între oricare două cifre alăturate ale sale, a valorii absolute a diferenței acestora. Scrieți definiția completă a subprogramului.

Exemplu: dacă n=7255, atunci, după apel, n=7523505.


boiustef: e pr1 Sub III de la simulare bac 2019 ?
boiustef: am pus tot codul, nu numai subprogramul, ca sa-l testezi

Răspunsuri la întrebare

Răspuns de boiustef
9

#include <iostream>

using namespace std;

void inserare(long long &n)

{

   short v[11], j=-1, i, dif;

   long long m=n;

   for (i=0; i<11; ++i)

       v[i]=0;

   while (m)

   {

       v[++j]=m%10;

       ++j;

       m=m/10;

   }

   for (int i=1; i<j-1; i+=2)

       {

           dif=v[i+1]-v[i-1];

           if (dif>=0) v[i]=dif;

           else v[i]=-dif;

       }

   for (i=j-1; i>=0; --i)

       m=m*10+v[i];

   n=m;

}

int main()

{

   long long n;

   cout << "n= "; cin >> n;

   inserare(n);

   cout << n;

}


boiustef: dacă neclarităţi, întreabă...
Alte întrebări interesante