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

Se citeşte un vector cu n elemente. Să se şteargă din vector elementele cu număr maxim de cifre impare, folosind un subprogram.
In C++, va rog!

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

#include <iostream>

using namespace std;

int nrCifImp(int m)

{

   int c=0, cif;

   while (m)

   {

      cif=m%10;

      if (cif%2==1) ++c;

      m=m/10;

   }

   return c;

}

int n, v[100],v2[100], i, k, num, nrmaxCifImp=0;

int main()

{

   cin >> n;

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

   {

       cin >> v[i];

       num=v[i];

       if (nrCifImp(num)>nrmaxCifImp)

           nrmaxCifImp=nrCifImp(num);

   }

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

   {

       if (nrCifImp(v[i])!=nrmaxCifImp)

           v2[k++]=v[i];

   }

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

       cout << v2[i] << " ";

   return 0;

}

Explicație:

am pus rezultatul in alt vector, e mai eficient decat sa faci acele deplasari de elemente in caz de lichidare elemente...

Alte întrebări interesante