Polecenie
Napisz funkcję, która otrzymuje cztery argumenty: dodatnią liczbę całkowitą n,
n-elementowe tablice tab1 i tab2 oraz 2*n-elementową tablice tab3 o elementach typu
double.
a) Funkcja powinna przepisywać zawartość tablic tab1 i tab2 do tablicy tab3 w taki
sposób, ze na początku tablicy tab3 powinny się znaleźć elementy tablicy tab1, a po
nich elementy tablicy tab2.
b) Funkcja powinna przepisywać zawartość tablic tab1 i tab2 do tablicy tab3 w taki
sposób, ze w komórkach tablicy tab3 o nieparzystych indeksach powinny się znaleźć
elementy tablicy tab1, a w komórkach tablicy tab3 o parzystych indeksach elementy
tablicy tab2.
Zrobiłam zgodnie z poleceniem i nie wiem czy robie to dobry spoobem
#include <iostream>
#include <algorithm>
//a)
void fun1(unsigned int n, const double tab1[], const double tab2[], double tab3[]) { //funkcja void
for (int i = 0; i < n; i++) {
tab3[i] = tab1[i];
tab3[n + i] = tab2[i];
}
}
void fun2(unsigned int n, const double tab1[], const double tab2[], double tab3[]) { //funkcja b)
int k = 0;
int j = 0;
for (int i = 0; i < 2 * n; i++) {
if (i % 2 == 0) {
tab3[i] = tab1[k];
k++;
} else {
tab3[i] = tab2[j];
j++;
}
}
}
int main() {
unsigned int n;
std::cin >> n;
auto *tab1 = new double[n];
auto *tab2 = new double[n];
auto *tab3 = new double[2*n];
for (int i = 0; i < n; i++) {
tab1[i] = i;
tab2[i] = n + i;
}
fun1(n, tab1, tab2, tab3);
fun2(n, tab1, tab2, tab3);
std::for_each(tab3, tab3 + 2 * n, [](const auto &a) { std::cout << a << std::endl; }); //wyświetlenie tab3
delete [] tab1;
delete [] tab2;
delete [] tab3;
return 0;
}
}