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

#505 pbinfo, ma poate ajuta cineva cu rezolvarea de 100p?
Cerința
Se dau doi vectori cu câte n elemente, numere naturale. Verificați dacă cei doi vectori conțin exact aceleași elemente.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele primului vector, apoi încă n numere naturale, reprezentând elementele celui de-al doilea vector.

Date de ieșire
Programul va afișa pe ecran mesajul DA, dacă cei doi vectori conțin exact aceleași elemente, respectiv NU, în caz contrar.

Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000



Exemplu
Intrare

5
6 8 7 7 4
8 4 6 7 7
Ieșire

DA

Răspunsuri la întrebare

Răspuns de StefanGroparu21
0

Răspuns:

#include<bits/stdc++.h>

using namespace std;

int main()

{

int n,v[1001],a[1001],ok=1;

cin>>n;

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

   cin>>v[i];

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

{

   cin>>a[i];

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

   if(v[j]==a[i])

   {

       v[j]=-1;

       j=n+1;

   }

}

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

   if(v[i]!=-1)

{

   ok=0;

   i=n+1;

}

if(ok==1)

   cout<<"DA";

else

   cout<<"NU";

return 0;

}

Explicație:


StefanGroparu21: dar programul fara acea instrucțiune ar crede ca sunt identice
StefanGroparu21: are rolul de a impiedica un element sa fie luat de mai multe ori
StefanGroparu21: de accea cand termin de verificat un element il elimin (-1)
StefanGroparu21: ai înțeles?
xEminescu123: da, mersi mult
xEminescu123: dar imi da 50 puncte pe pbinfo
StefanGroparu21: ?? Nu are cum, mie îmi da 100
StefanGroparu21: sigur ai copiat corect?
xEminescu123: gata, scrisesem v[j]=v[i] in loc de v[j]=a[i]
StefanGroparu21: ok
Alte întrebări interesante