Untitled
unknown
plain_text
a year ago
1.8 kB
2
Indexable
Never
#include <iostream> #include <fstream> using namespace std; void tablou(int n, int v[]) { for (int i = 0; i < n; i++) { cout << "Introduceti elementul " << i+1 << ": "; cin >> v[i]; } } void sortareCrescatoare(int n, int v[]) { for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (v[i] > v[j]) { int temp = v[i]; v[i] = v[j]; v[j] = temp; } } } } void sortareDescrescatoare(int n, int v[]) { for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (v[i] < v[j]) { int temp = v[i]; v[i] = v[j]; v[j] = temp; } } } } void intersectie(int na, int a[], int nb, int b[], int c[], int& nc) { nc = 0; int i = 0, j = 0; while (i < na && j < nb) { if (a[i] < b[j]) { i++; } else if (a[i] > b[j]) { j++; } else { c[nc] = a[i]; nc++; i++; j++; } } } int main() { int na, nb; cout << "Introduceti numarul de elemente pentru tabloul a: "; cin >> na; cout << "Introduceti numarul de elemente pentru tabloul b: "; cin >> nb; int a[100], b[100], c[100]; tablou(na, a); tablou(nb, b); sortareCrescatoare(na, a); sortareDescrescatoare(nb, b); int nc; intersectie(na, a, nb, b, c, nc); ofstream outFile("comune.out"); if (nc > 0) { for (int i = 0; i < nc; i++) { outFile << c[i] << " "; } } else { outFile << "Nu exista"; } outFile.close(); cout << "Elementele comune au fost scrise in fisierul comune.out.\n"; return 0; }