Cerința
Se dau două mulțimi de numere naturale. Să se afișeze reuniunea lor.
Date de intrare
Fişierul de intrare reuniune.in
conţine pe prima linie numerele n m
, reprezentând numărul de elemente din fiecare mulţime.
Linia a doua conţine n
numere naturale diferite, ordonate crescător, reprezentând elementele primei mulțimi.
Linia a treia conţine m
numere naturale diferite, ordonate crescător, reprezentând elementele celei de-a doua mulțimi.
Date de ieșire
Fişierul de ieşire reuniune.out
va conţine pe prima linie elementele reuniunii celor două mulțimi, în ordine crescătoare, separate prin exact un spațiu.
Restricții și precizări
1 ≤ n , m ≤ 1000
- elementele celor două mulțimi vor fi mai mici decât
1 000 000 000
Exemplu
reuniune.in
6 4 1 3 4 7 10 43 3 5 10 37
reuniune.out
1 3 4 5 7 10 37 43
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Reuniune:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("reuniune.in");
ofstream fout("reuniune.out");
int a[1005], b[1005], c[2005], n ,m , p;
int main(){
fin >> n >> m;
for(int i = 1 ; i <= n ; ++i)
fin >> a[i];
for(int i = 1 ; i <= m ; ++i)
fin >> b[i];
//determinam reuniunea
p = 0;
for(int i = 1 ; i <= n ; i ++)
c[++p] = a[i];
for(int i = 1 ; i <= m ; ++i)
{
bool ok = true;
for(int j = 1 ; j <= n && ok ; j ++)
if(b[i] == a[j])
ok = false;
if(ok)
{
p ++;
int j;
for(j = p ; j > 1 && c[j-1]>b[i] ; j --)
c[j] = c[j-1];
c[j] = b[i];
}
}
for(int i = 1 ; i <= p ; i ++)
fout << c[i] << " ";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #997 Reuniune
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #997 Reuniune de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!