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

Dau coroana
Daca N este par sa se elimine cifrele impare , iar daca este impar sa se elimine cifrele pare​

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai mai jos rezolvarea

#include <iostream>

using namespace std;

int elimcifimpar(int n)

{

 int put = 1, cn = n, nr = 0, a[11];

 while (n)

 {

   int c = n % 10;

   if (c % 2 == 0)

   {

     a[put] = c;

     put++;

   }

   n /= 10;

 }

 put--;

 for (int i = put; i >= 1; --i)

 {

   if (a[i] % 2 == 0)

   {

     nr = nr * 10 + a[i];

   }

 }

 if (nr == 0 || nr == cn)

 {

   return -1;

 }

 return nr;

}

int elimcifpar(int n)

{

 int put = 1, cn = n, nr = 0, a[11];

 while (n)

 {

   int c = n % 10;

   if (c % 2 != 0)

   {

     a[put] = c;

     put++;

   }

   n /= 10;

 }

 put--;

 for (int i = put; i >= 1; --i)

 {

   if (a[i] % 2 != 0)

   {

     nr = nr * 10 + a[i];

   }

 }

 if (nr == 0 || nr == cn)

 {

   return -1;

 }

 return nr;

}

int main()

{

 int n;

 cin >> n;

 if (n % 2 == 0)

 {

   cout << elimcifimpar(n);

 }

 else

 {

   cout << elimcifpar(n);

 }

 return 0;

}

Alte întrebări interesante