30 lines
581 B
Elixir
30 lines
581 B
Elixir
defmodule TwoDimArray do
|
|
|
|
def create(w, h) do
|
|
List.duplicate(0, w)
|
|
|> List.duplicate(h)
|
|
end
|
|
|
|
def set(arr, x, y, value) do
|
|
List.replace_at(arr, x,
|
|
List.replace_at(Enum.at(arr, x), y, value)
|
|
)
|
|
end
|
|
|
|
def get(arr, x, y) do
|
|
arr |> Enum.at(x) |> Enum.at(y)
|
|
end
|
|
end
|
|
|
|
|
|
width = IO.gets "Enter Array Width: "
|
|
w = width |> String.trim() |> String.to_integer()
|
|
|
|
height = IO.gets "Enter Array Height: "
|
|
h = height |> String.trim() |> String.to_integer()
|
|
|
|
arr = TwoDimArray.create(w, h)
|
|
arr = TwoDimArray.set(arr,2,0,42)
|
|
|
|
IO.puts(TwoDimArray.get(arr,2,0))
|