Witam nie mam pomysłu jak obliczyć iloczyn kartezjański(normalnie to nie ma problemu) ale rekurencyjnie.Podsunęlibyście jakąś wskazówkę??Przyjmijmy ze funkcja obliczająca przyjmuje argumentu zbior1 i zbior2
0
0
Przykład jak to zrobić w języku gdzie rekurencja jest bardziej naturalna:
let rec pair = fun e z -> match z with
| [] -> []
| h::t -> (e,h)::pair e t;;
let rec iloczyn = fun z1 z2 -> match z1 with
| [] -> []
| h::t -> (pair h z2) @ (iloczyn t z2);;
Pierwsza funkcja przerabia parę
element, zbiór na listę krotek [(element,pierwszy_element_zbioru);(element,drugi_element_zbioru);...]
Druga funkcja korzystając z funkcji pierwszej generuje iloczyn kartezjański dwóch zbiorów. (dla każdego elementu zbioru pierwszego generuje listę krotek za pomocą naszej funkcji pair a potem te listy skleja).
0
mhm sęk w tym,że mam to w c++/php zrobić