У меня есть задание, в котором у меня есть список списков, в котором каждый первый элемент списков внутри списка всегда одинаков, например: [[element, ....], [element, ...], [element, ...]]
. У меня также есть функция, которую мне дал профессор, которая генерирует случайный список чисел от 0 до 9, который называется genRandom
. Как это работает, вы даете ему Int
, например 5
, и вы также даете ему семя, и оно дает вам [2,6,3,6,8]
(например). Что мне нужно сделать, это, например, дать пользователю Int
, давайте используем 3
для этого примера, он должен вернуть что-то вроде этого: [[element, genRandom 2 seed, genRandom 2 seed], [element, genRandom 2 seed, genRandom 2 seed]]
. В этом примере каждый раз, когда появляется genRandom 2
, должны появляться 2 случайных числа, сгенерированных функцией. Пока это моя попытка:
gerlists :: Int -> Int -> [[Int]]
gerlists 0 _ = [[]]
gerlists _ 0 = [[]]
gerlists n c = replicate n [Reta Terra 0]
В этой функции я создаю список с первым элементом, уже определенным, как показано выше.
addRandomN :: [[Int]] -> Int -> Int -> [[Int]]
addRandomN (x:xs) c seed = (x ++ addRandomN(genRandom 2 seed): addRandomN(c-1) (genRandom 2 seed)
Это функция вкоторый я пытаюсь объединить.
Мне очень жаль, если мне трудно понять, что я пытаюсь сказать, английский не мой основной язык. Заранее спасибо:)