Buna! Am urmatoarea problema: In fisierul nr1.txt este memorata pe prima linie o valoare naturala n de cel mult 8 cifre, iar pe linia urmatoare sunt memorate n numere naturale, cu maximum 4 cifre fiecare, ordonate strict crescator si separate prin cate un spatiu. In fisierul nr2.txt este memorata pe prima linie o valoare naturala m de cel mult 8 cifre, iar pe linia urmatoare sunt memorate m numere naturale, cu maximul 4 cifre fiecare, ordonate strict crescator si separate prin cate un spatiu. Se cere afisarea pe ecran, separate prin cate un spatiu, in ordine strict crescatoare, a tuturor numerelor aflate pe a doua linie in cel putin unul dintre cele doua fisiere. In cazul in care un numar apare in ambele fisiere, el va fi afisat o singura data. Alegeti un algoritm de rezolvare eficient din punct de vedere al memoriei utilizate si al timpului de executare.
Exemplu: pentru urmatoarele fisiere:
nr 1.txt
5
3 6 8 9 12
se va afisa 2 3 5 6 7 8 9 12 13
nr2.txt
6
2 3 5 7 9 13
a) Descrieti succint in limbaj natural strategia de rezolvare si justificati eficienta algoritmului
b) Scrieti programul C/C++ corespunzator algoritmului ales.
Eu am facut codul:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int n,m,ant=-1,x,y;
ifstream f("V19_S3_4_1.txt");
ifstream g("v19_s3_4_2.txt");
f>>n;
g>>m;
while(f>>x || g>>)
cout<<x<<" "<<y<<" ";
{
if(ant==-1)
if(x>y)
ant=y;
else
ant=x;
if(x<y &&x!=ant)
ant=x;
else
if(y<x && y!=ant)
ant=y;
cout<<ant<<" ";
}
return 0;
}
dar nu merge. Ce e gresit?
Multumesc!