Răspuns :

Explicație:

#include <iostream>

using namespace std;

int main()

{

   int n;

   cout<<"n este ";

   cin>>n;

   int componenta[100];

   for(int i=1; i<=n; i++)

   {

       cout<<"componenta "<<i<<" este ";

       cin>>componenta[i];

   }

   int x, cifra;

   int k;

   for(int i=1; i<=n;i++)

   {

       x=componenta[i];

       k=0;

       while(x!=0)

       {

           cifra=x%10;

           k++;

           x=x/10;

       }

       if(k==4)

           cout<<componenta[i]<<" ";

   }

   return 0;

}

Un numar are 4 cifre daca el se gaseste intre 1000 si 9999.

Daca numarul este negativ, il schimbam semnul, apoi ii aplicam aceeasi regula de validare.

Am facut o functie separata ce verifica daca sint 4 cifre sau nu.

#include <iostream>

using namespace std;

bool are4Cifre(int value);

int main() {

int n;

cout << "Numarul de elemente de citit: n = ";

cin >> n;

cout << "Specificati elementele: " << endl;

int elemente[n + 1];

for (int i = 1; i <= n; i++) {

 cin >> elemente[i];

}

for (int i = 1; i <= n; i++) {

 if (are4Cifre(elemente[i])) {

  cout << elemente[i] << endl;

 }

}

return 0;

}

/**

* Verifica daca paramterul de intrare are 4 cifre

*/

bool are4Cifre(int value) {

if (value < 0) {

 value = -value;

}

return value >= 1000 && value <= 9999;

}