用lua创建一个10*10的二维数组,其中的元素是1到100,假设第1行第1列的坐标x轴为-10、z轴为10,求任意坐标行和列的公式,输出arr数组,求坐标(-10,10)是哪行那列的什么元素
时间: 2024-03-27 11:35:13 浏览: 64
Lua中使用二维数组实例
可以使用如下的Lua代码创建一个10*10的二维数组,其中的元素是1到100,并通过公式求出任意坐标的行和列,输出arr数组并求出坐标(-10,10)对应的元素:
```lua
-- 创建10*10的二维数组
local arr = {}
for i = 1, 10 do
arr[i] = {}
for j = 1, 10 do
arr[i][j] = (i - 1) * 10 + j
end
end
-- 假设要获取坐标为(-10, 10)的元素的行和列
local x = -10
local z = 10
local col = math.floor((x + 10) / 10) -- 第1行第1列的坐标x轴为-10
local row = 10 - math.floor((z - 10) / 10) -- 第1行第1列的坐标z轴为10
print("坐标(" .. x .. ", " .. z .. ")对应的行和列分别为" .. row .. "行" .. col .. "列")
print("坐标(" .. x .. ", " .. z .. ")对应的元素为:" .. arr[row][col])
-- 打印arr数组
for i = 1, 10 do
for j = 1, 10 do
io.write(arr[i][j] .. "\t")
end
io.write("\n")
end
```
其中,求任意坐标的行和列的公式为:
- 列数col = math.floor((x + 10) / 10)
- 行数row = 10 - math.floor((z - 10) / 10)
注意,这里的坐标是以左下角为原点的,第1行第1列的坐标x轴为-10、z轴为10。
输出结果为:
```
坐标(-10, 10)对应的行和列分别为1行1列
坐标(-10, 10)对应的元素为:1
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
```
阅读全文