👤

In C++ rezolvarea

Cerință

Ți se dă un șir de n numere întregi, reprezentând pachetele trimise și un alt șir cu n - 1 numere întregi, reprezentând pachetele care au ajuns cu succes până la tine. Elementele din cel de-al doilea șir NU vor fi în aceeași ordine ca și cele din primul, dar toate valorile din al doilea șir se găsesc și în primul. Identifică elementul care se găsește în primul șir, dar lipsește din al doilea.


Date de intrare

Pe prima linie se va găsi numărul n, iar pe următoarele două linii elementele celor două șiruri.


Date de ieșire

Programul va afișa pe ecran numărul x, care reprezintă elementul lipsă din cel de-al doilea șir.


Precizări și restricții

1 ≤ n ≤ 1 000

elementele din șir nu vor avea valori mai mari de 100 000, respectiv mai mici de -100 000

Exemple

Date de intrare

10

32 34 89 -67 45 21 34 5 9 7

34 32 45 89 34 21 5 7 9
Date de iesire
- 67


Răspuns :

Salut!

Ai rezolvarea problemei mai jos

#include <iostream>

#include <algorithm>

using namespace std;

bool caut_bin(int x, int v[], int n)

{

 int st = 0, dr = n;

 while (st <= dr)

 {

   int m = (st + dr) / 2;

   if (x == v[m])

   {

     return true;

   }

   if (x < v[m])

   {

     dr = m - 1;

   }

   else

   {

     st = m + 1;

   }

 }

 return false;

}

int main()

{

 int n, a[1001], b[1001];

 cin >> n;

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

 {

   cin >> a[i];

 }

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

 {

   cin >> b[i];

 }

 //Sortam crescator cele 2 siruri

 sort(a, a + n);

 sort(b, b + n - 1);

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

 {

   if (!caut_bin(a[i], b, n - 1)) //daca nu s-a gasit elementul a[i] in sirul b

   {

     cout << a[i] << " ";

   }

 }

 return 0;

}

Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, vă rugăm să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la lista de favorite!


Ze Learners: Alte intrebari