KS, JDMFBGWSDF
KS, JDMFBGWSDF
int main()
{
int x;
cout << " meniu" << endl << endl;
cout << "1.......reuniunea a mai multor multimi" << endl;
cout << "2.......intersectia a mai multor multimi" << endl;
cout << "3.......ordonarea crescatoare/descrescatoare a unei multimi" << endl;
cout << "4.......cautarea unei valori intr o multime prin cautare binara" <<
endl;
cout << "5.......inchidere meniu" << endl << endl;
cin >> x;
if (x == 1)
{
int X;
cout << "Introduceti numarul de multimi: ";
cin >> X;
else if (x == 2)
{
int X;
cout << "introduceti numarul de multimi: ";
cin >> X;
int m_multimi[100][10001], marime[100], intersectie[10001],
marime_intersectie = 0;
else if (x == 3)
{
int z;
cout << "introduceti 1 pentru ordonare crescatoare" << endl;
cout << "introduceti 2 pentru ordonare descrescatoare" << endl;
cin >> z;
cout << endl;
if (z == 1)
{
int n, v[10001];
cout << endl << "introduceti nr. de termeni ";
cin >> n;
cout << endl << "introduceti termenii multimii ";
for (int i = 0; i < n; i++) cin >> v[i];
cout << endl;
bool sort;
do {
sort = true;
for (int i = 0; i < n - 1; i++)
if (v[i] > v[i + 1]) {
int aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
sort = false;
}
} while (!sort);
for (int i = 0; i < n; i++) cout << v[i] << " ";
}
else
{
int n, v[10001];
cout << endl << "introduceti nr. de termeni ";
cin >> n;
cout << endl << "introduceti termenii multimii ";
for (int i = 0; i < n; i++) cin >> v[i];
cout << endl;
bool sort;
do {
sort = true;
for (int i = 0; i < n - 1; i++)
if (v[i] < v[i + 1]) {
int aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
sort = false;
}
} while (!sort);
for (int i = 0; i < n; i++) cout << v[i] << " ";
}
cout << endl;
}
else if (x == 4)
{
int n, v[10001], x, poz_x = -1;
cout << "introduceti nr. de termeni ";
cin >> n;
cout << endl << "introduceti termenii multimii ";
for (int i = 0; i < n; i++) cin >> v[i];
cout << endl << "introduceti termenul care se va cauta ";
cin >> x;
cout << endl;
int stanga = 0, dreapta = n - 1;
while (stanga <= dreapta) {
int mij = (stanga + dreapta) / 2;
if (v[mij] == x) {
poz_x = mij;
break;
}
else if (v[mij] < x) {
stanga = mij + 1;
}
else {
dreapta = mij - 1;
}
}
if (poz_x == -1) {
cout << "Elementul nu a fost gasit" << endl;
}
else {
cout << "Elementul cautat se afla pe pozitia " << poz_x << endl;
}
}
else if (x == 5) return 0;
return 0;
}