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
Robisz odwrotnie: jeśli i%2 == 0 to znaczy, że indeks jest parzysty i ma być element z tab2, natomiast w przeciwnym wypadku powinien być element z tab1. Lekko uproszczony kod:
void fun2(unsigned int n, const double tab1[], const double tab2[], double tab3[]) { //funkcja b)
for (int i = 0; i < 2 * n; i++) {
if (i % 2 == 0) {
tab3[i] = tab2[i/2];
} else {
tab3[i] = tab1[i/2];
}
}
}
Dodałbym też wypisywanie tablicy po wywołaniu fun1 i je lekko zmienił:
fun1(n, tab1, tab2, tab3);
std::for_each(tab3, tab3 + 2 * n, [](const auto &a) { std::cout << a << ' '; }); //wyświetlenie tab3
std::cout << std::endl;
fun2(n, tab1, tab2, tab3);
std::for_each(tab3, tab3 + 2 * n, [](const auto &a) { std::cout << a << ' '; }); //wyświetlenie tab3
std::cout << std::endl;
Dodam jeszcze na koniec, że mogłabyś sama sprawdzić co nie działa. Jestem pewny, że doszłabyś do wniosku, że większość kodu działa dobrze, i że błąd jest w konkretnej funkcji/pętli. Mogłabyś to wskazać i zamiast całego kodu dać tylko tę konkretną pętlę/funkcję. Znacznie pomogło by to forumowiczom w rozwiązaniu problemu, a przy okazji poćwiczyłabyś sobie szukanie błędów w programach. Tak samo z poleceniem: nie potrzebujemy znać całego polecenia. Wystarczy część z którą sobie nie radzisz. Radziłbym też nie nazywać każdego pytania „Zadanie w C++”, bo „w C++” widac po kategorii, a że to jest zadanie to jest niepotrzebna informacja. Nie jestem mistrzem nazywania czegokolwiek, ale tytuł „Przepisywanie dwóch tablic do jednej naprzemiennie - zła kolejność elementów” jest moim zdaniem o wiele lepszy. Mogłabyś też zmienić konstrukcję pytania, bo to co jest wygląda tak:
Masz moje zadanie:
//Treść
Nie chce mi się myśleć, więc mi je zrób! A tu masz jakieś śmiecie, które nie działają:
//Kod
A w nagrodę pomarudzę, że mi się nie podoba. A jak nie zrobisz, to się usunę z forum i ci przestanę pomagać.
Trochę przesadziłem oczywiście, ale myślę, że wiesz co mam na myśli. Oczywiście osoba to pisząca nigdy nikomu z forum nie pomogła, żeby było oczywiste z tą groźbą, że się usunie.
Możnaby opisać problem, a nie robić copy&paste z treści zadania i rozwiązania, dodać jakieś powitanie, prośbę, albo podziekowanie (Cześć, mam taki problem..., Mógłby ktoś podpowiedzieć gdzie robię błąd? Z góry wszystkim dziękuję)