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

Se dă un vector x cu n elemente, numere naturale. Să se construiască un alt vector, y, care să conțină elementele prime din x, în ordine inversă.
rezolvati va rog problema in c++.​

Răspunsuri la întrebare

Răspuns de VxF
1

Răspuns:

#include <iostream>

#include <vector>

int main()

{

   std::vector<int> x, y;

   int n;

   std::cout << "Număr elemente: ";

   std::cin >> n;

   x.reserve(n);

   std::cout << n << " de elemente: ";

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

       std::cin >> x[i];

   }

   for (int i = n - 1; i >= 0; i--) {

       bool prim = x[i] > 1;

       for (int j = 2, l = x[i] / 2 + 1; j < l; j++) {

           if (x[i] % j == 0) {

               prim = false;

               break;

           }

       }

       if (prim) {

           y.push_back(x[i]);

       }

   }

   std::cout << "Vector elemente prime:";

   for (int i = 0; i < y.size(); i++) {

       std::cout << " " << y[i];

   }

   std::cout << std::endl;

}

Alte întrebări interesante