Formați doi vectori astfel încât primul să conțină numerele pare din vectorul inițial și al doilea numerele impare din vector. Ordonați cei doi vectori obținuți crescător.
Cu subprogram in C++.
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int V[100], n; //n va retine nr de elem din V
void citire ()
{
cin >> n;
for (int i = 1; i <= n; i ++) cin >> V[i];
}
void v (int v[100], int k, int &m) //se va folosi si pt v1 si pt v2
{
int j = 0;
for (int i = 1; i <= n; i++)
if (V[i] % 2 == k) {
j ++;
v[j] = V[i];
m = j; //in m se retine nr de elem din vec v
}
}
void ordonare_cresc (int v[100], int m)
{
for (int i = 1; i <= m - 1; i++) //sortare prin interschimbare
for (int j = i + 1; j <= m; j++)
if (v[i] > v[j]) {
int aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
void afisare (int v[100], int m)
{
for (int i = 1; i <= m; i ++) cout << v[i] << " ";
cout << endl;
}
int main () //program principal
{
int v1[100], v2[100], m1, m2;
citire ();
v (v1, 0, m1); //restul 0 la imp la 2
v (v2, 1, m2); //restul 1 la imp cu 2
ordonare_cresc (v1, m1);
ordonare_cresc (v2, m2);
afisare (v1, m1);
afisare (v2, m2);
}