Dlaczego to nie działa? tab[i + 2] oraz tab[i - 2]

0

Rozmiar i elementy ustalane przez usera. Elementy parzyste zwiększyć o 2 natomiast nieparzyste zmniejszyć o 2. Wyświetlić zmodyfikowaną tablicę. Jak naprawić pierwszy i ostatni element? 1, 2, 3, 4 są wyświetlane poprawnie.

1

To co robisz to UB. Dla i=0 tab[i-2] to tab[-2] - czyli odnosisz się do elementu poza tablicą. Naprawisz to odnosząc się wyłącznie do elementów tablicy.

1

Masz tam pięknie pokazane, że masz taki przypadek:

i == 0
tab[i] == 1
tab[i] % 2 == 1

I wtedy probujesz się odwołać do elementu tab[i - 2], czyli do jakiego?

1

Dodam jeszcze

delete[] tab;

albo poznanie smart pointerów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1