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

Subprogramul inserare are un singur parametru, n, prin care primeşte un număr natural
(n∈[10,105)). 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: simulare bac2019...

Răspunsuri la întrebare

Răspuns de boiustef
1

#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;

   }

   cout << j << "\n";

   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: e o părre... pot fi şi altele desigur
magdalenapop: multumesc!
Alte întrebări interesante