Se dă un vector x cu n elemente numere naturale, ordonate crescător, și un vector y cu m elemente, de asemenea numere naturale. Verificați pentru fiecare element al vectorului y dacă apare în x.
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.
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.
c++
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int n,m,i, x[25001], num;
int div_imp (int p, int q)
{
int mij;
if (q<p)
return 0;
else
{
mij=(p+q)/2;
if(x[mij]==num)
return 1;
else
if(num<x[mij])
return div_imp (p, mij-1);
else
return div_imp (mij+1,q);
}
}
int main()
{
cin >> n;
for (i=0; i<n; ++i)
cin >> x[i];
cin >> m;
for (i=1; i<=m; ++i)
{
cin >> num;
if (div_imp(0,n-1))
cout << 1;
else cout << 0;
cout << " ";
}
}
Explicație:
Mela44:
multumesc
Alte întrebări interesante
Religie,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă