Благодарен всем тем, кто помог, помогал, или пытался помочь. Из кучи решений собрал франкенштейна из разных кусков тел, и, в связке с полным условием, код выглядит следующим образом:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void bubble_sort(int *a, int array_size) {
for (int i = 0; i < array_size - 1; i++) {
for (int j = 0; j < array_size - i - 1; j++) {
if (a[j] > a[j+1]) {
int save;
save = a[j];
a[j] = a[j + 1];
a[j + 1] = save;
}
}
}
}
int main() {
srand(time(0));
int a_s;
int b_s;
int answer;
cout << "Enter the size of the first array: ";
cin >> a_s;
cout << endl;
cout << "Thx. Now, the second array: ";
cin >> b_s;
if (((a_s + b_s) % 2) == 0) {
b_s = b_s + 1;
cout << "First and second sizes are even. We'll add 1 point to size of second array. ";
}
cout << endl;
cout << "===================================";
cout << endl;
cout << "Random values or input from keyboard? (1/2, yeap, i'm very lazy to use strcmp() :) ";
cin >> answer;
cout << "===================================";
cout << endl;
int *a = new int[a_s];
int *b = new int[b_s];
cout << "All values will be automatically sorted in ASC order!" << endl;
cout << "Warning! Don't type the same numbres! The middle values also will be counted!!" << endl;
cout << endl;
if (answer == 1) {
for (int i = 0; i < a_s; i++) {
a[i] = rand() % 10 + 1;
}
for (int i = 0; i < b_s; i++){
b[i] = rand() % 16 + 1;
}
}
else if(answer == 2) {
for (int i = 0; i < a_s; i++) {
cout << "a[" << i + 1 << "]: ";
cin >> a[i];
}
for (int i = 0; i < b_s; i++) {
cout << "b[" << i + 1 << "]: ";
cin >> b[i];
}
}
bubble_sort(a, a_s);
bubble_sort(b, b_s);
Тут самым коротким решением оказалось решение глубокоуважаемого
@abyrkov int counter1 = 0,
counter2 = 0,
counter3 = 0;
for (int counter = 0; counter < (a_s + b_s) / 2; counter++)
{
if (a[counter1] <= b[counter2]) {
counter3 = a[counter1];
counter1++;
}
else {
counter3 = b[counter2];
counter2++;
}
}
cout << counter3;
system("pause");
return 0;
}