Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //Scrieţi definiţia completă a subprogramului C/C++ modificare, care are doi parametri, v şi n, prin care primeşte un tablou unidimensional
- //cu maximum 10000 de numere naturale nenule şi, respectiv, numărul de elemente din tablou.
- //Subprogramul rearanjează elementele tabloului astfel încât toate valorile prime să se afle pe primele poziţii
- //iar valorile care nu sunt prime, în continuarea celor prime
- void BubbleSort(int n, int a[])
- {
- for (int t = 0; t <= n - 1; t++)
- {
- for (int i = 0; i < n - 1; i++)
- {
- if (a[i] > a[i + 1]) {
- swap(a[i], a[i + 1]);
- }
- }
- }
- }
- bool prim(int n) {
- int ct = 0;
- cout << "Pentru n = " << n << ",";
- for (int i = 1; i <= n; i++) {
- if (n % i == 0) {
- ct++;
- }
- }
- if (ct == 2) {
- //cout << "\nNumarul este prim";
- return true;
- }
- else {
- //cout << "\nNumarul nu este prim.";
- return false;
- }
- cout << "\n" << ct;
- }
- void ordonare(int a[], int n) {
- int aux[4000];
- int ct = 0;
- for (int i = 0; i < n; i++) {
- if (prim(a[i])) {
- aux[ct] = a[i];
- ct++;
- }
- }
- for (int i = 0; i < n; i++) {
- if (!prim(a[i])) {
- aux[ct] = a[i];
- ct++;
- }
- }
- }
- void interclasare(int v1[], int v2[], int lenV1, int lenV2, int vectorInterclasat[])
- {
- int min = 42, ct = 0, ampus1 = 0, ampus2 = 0;
- for (int i = 0; i < lenV1 + lenV2; i++)
- {
- if (ampus1 != lenV1 && ampus2 != lenV2)
- {
- min = (v1[ampus1] < v2[ampus2]) ? v1[ampus1++] : v2[ampus2++];
- }
- else if (ampus1 == lenV1 && ampus2 != lenV2)
- {
- min = v2[ampus2++];
- }
- else if (ampus1 != lenV1 && ampus2 == lenV2)
- {
- min = v1[ampus1++];
- }
- vectorInterclasat[ct++] = min;
- }
- }
- int main()
- {
- int vec1[1000], vec2[1000], lenV1, lenV2, vecRez[2000];
- cout << "Lungime vector 1: "; cin >> lenV1;
- cout << "\nLungime vector 2: "; cin >> lenV2;
- if (lenV1 <= 0 || lenV2 <= 0)
- {
- cout << "Eroare, lungimea este negativa";
- return 1;
- }
- cout << "\n\nIntroduceti valori pentru vector 1: ";
- for (int i = 0; i < lenV1; i++)
- {
- cin >> vec1[i];
- }
- cout << "\nIntroduceti valori pentru vector 2:";
- for (int i = 0; i < lenV2; i++)
- {
- cin >> vec2[i];
- }
- BubbleSort(lenV1, vec1);
- BubbleSort(lenV2, vec2);
- interclasare(vec1, vec2, lenV1, lenV2, vecRez);
- cout << "\nVector interclasat: ";
- for (int i = 0; i < lenV1 + lenV2; i++)
- {
- cout << vecRez[i] << " ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment