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

Salut!
Ma poate ajuta cineva cu problema asta?

Cerința
Se dă un vector x cu n elemente numere naturale, și un vector y cu m elemente, de asemenea numere naturale. Verificați pentru fiecare element al vectorului y dacă apare în x.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale vectorului x. Apoi și citește m și cele m elemente ale lui y.

Date de ieșire
Programul va afișa pe ecran m valori 0 sau 1, separate prin exact un spațiu. A j-a valoare afișată este 1, dacă al j-lea element al șirului y apare în x, respectiv 0 în caz contrar.

Restricții și precizări
1 ≤ n,m ≤ 1000
elementele celor 2 vectori vor fi mai mici decât 1.000.000.000

Exemplu
Intrare

7
9 6 5 14 2 1 10
8
8 14 9 14 16 15 4 2
Ieșire

0 1 1 1 0 0 0 1


Mersi!

Răspunsuri la întrebare

Răspuns de boiustef
1

#include <iostream>

using namespace std;

int x[1000], y[1000], i, j, n, m, gasit;

int main()

{

   cin >> n;

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

       cin >> x[i];

   cin >> m;

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

       cin >> y[i];

   for (j=0; j<m; ++j)

   {

       gasit=0;

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

       {

           if (y[j]==x[i]) { gasit=1; break; }

       }

       if (gasit) cout << 1;

       else cout << 0;

       cout << " ";

   }

}

Alte întrebări interesante