Mam dwie tablice i każda jest dwuwymiarowachcą wziąć wartość z tablicy 1 w pozycji i i spróbować znaleźć tę samą wartość w tablicy 2. Jeśli mają tę samą wartość, wartości z tablicy 2 w pozycji x są konkatenowane w tablicy 1 w pozycji i.
przykład
Tablica 1
[[1, 2,3,4,5,6], [3,5,7,2,12,5], [a, f, 3, d, 4, g]]
Tablica 2
[[b, e, w, 1,4,6], [1, 0,8,5,8,9]]
Tak więc nowa tablica 1 będzie
[[1,2,3,4,5,6,1, 0,8,5,8,9], [3,5,7,2,12,5], [a, f, 3, d, 4, g]]
Jakiekolwiek myśli.....
Odpowiedzi:
0 dla odpowiedzi № 1Twój opis zadania jest nieprawidłowy. Nie możesz
przyjmij wartość tablicy 1 w pozycji i
bo array 1
zawierają same tablice, dzięki czemu możesz przyjmować wartość na miejscu i, j
. I wyszukaj te same wartości w array 2
w każdym i
na pozycji j
. A jeśli tego właśnie chcesz, oto przykładowy kod:
arr_1 = [[1, 2, 3, 4, 5, 6], [3, 5, 7, 2, 12, 5], ["a", "f", 3, "d", 4, "g"]]
arr_2 = [["b", "e", "w", 1, 4, 6], [1, 0, 8, 5, 8, 9]]
search_i = 0
search_j = 0
search_val = arr_1[search_i][search_j]
arr_2.each_with_index do |val_i, i|
val_i.each_with_index do |val_j, j|
if j == search_j && arr_2[i][j] == search_val
arr_1[search_i].concat(arr_2[i])
end
end
end
p arr_1 # [[1, 2, 3, 4, 5, 6, 1, 0, 8, 5, 8, 9], [3, 5, 7, 2, 12, 5], ["a", "f", 3, "d", 4, "g"]]