Witam, mam problem w zadaniu, do konca nie rozumiem jak funkcje product_left i product_right maja dzialac :
Napisz program, który pobierze od użytkownika tablicę liczb typu long long (nie więcej niż 10 elementów) i dla każdej komórki tablicy obliczy i wyświetli iloczyn wszystkich liczb znajdujących się w pozostałych komórkach.
W tym celu napisz funkcje obliczającą ,dla każdej komórki tablicy wejściowej input, iloczyn liczb znajdujących się na lewo od niej (product_left) oraz iloczyn liczb znajdujących się na prawo od niej (product_right).
int product_left(const long long *input, int input_size, long long *output, int output_size);
int product_right(const long long *input, int input_size, long long *output, int output_size);
output - wskaźnika na tablicę wyjściową, do której mają zostać zapisane iloczyny (pierwsza (w przypadku funkcji product_left) lub ostatnia (w przypadku funkcji product_right) komórka tablicy ma posiadać wartość 1),
--- Tutaj pojawia sie problem, ponieważ rozmiary tablic powinny byc rowne i nie rozumiem tego ze komorka tablicy w funkcji product right ma ma posiadac wartosc 1.
Czyli to ma byc tak ze na output[0] zapisuje iloczyn liczb po LEWO, a na output[1] zapisuje iloczyn liczb na prawo? Takto czemu rozmiary maja byc rowne. Nie rozumiem tego totalnie,
Moglbym zrobic tak, ze zapisuje iloczyn liczb po lewo do output[0] potem iloczyn liczb po prawo do output[1], potem liczę iloczyn iloczynow i dodaje go do innej tablicy i wywoluje tyle razy te funkcje, dopoki nie wypelni sie tablica i wyswietlic.
Przykladowa interakcja z programem - Sukces :
Podaj liczby: 3 1 -2 4 5 -8 -6 8 -10 -6 -9 -1⏎
-921600 -2764800 1382400 -691200 -552960 345600 460800 -345600 276480 460800 ⏎