在这种情况下,我无法创建伪代码:
“每一行都有不同的列数,我的任务是显示每行的最后一列”
type Row is record
Integer: ColumnsAmount
Columns is array [1..ColumnsAmount) of Integer
type Chart is record
Integer: RowsAmount
rows is array [1..RowsAmount) of Row
Chart: tab
确保它必须是从1到RowsAmount的循环,并在循环中:显示选项卡[ColumnsAmount](显示最后一列)
这是我的尝试:
for f:=1..RowsAmount step 1{
display(tab[f].tab[ColumnsAmount]) **<-- PROBLEM IN THIS PART**
}
}
作为参考,还有另一个正确的任务(我的目标是做上面的类似事情): “写伪代码将显示每个公司拥有的每辆汽车”
type Company is record
String: name
Integer: CarAmount
car is array[1..CarAmount] of Car
end
type Car is record
String: name
end
data is array[1..10] of Company
纠正这种情况下的伪代码:
for f:=1..10 step 1{
for a:=1..data[f].CarAmount step 1{
display(data[f].car[a].name)
}
}
在行/列情况下,我该如何做类似的事情?
答案 0 :(得分:0)
为使用的标识符(用[]
表示数组)创建层次结构。请记住,ColumnsAmount
每行只能出现一次,但是有几行。为了标识正确的ColumnsAmount
,有必要包括完整的参考。这些是参考:
tab
rows[]
ColumnsAmount
tab
rows[]
Columns[]
填写所用的下标,包括第一个作为第二个的下标:
tab
rows[f]
ColumnsAmount
tab
rows[f]
Columns[tab.rows[f].ColumnsAmount]
然后编写代码:
for f:=1..RowsAmount step 1 {
display(tab.rows[f].Columns[tab.rows[f].ColumnsAmount])
}
或者,您可以考虑分离嵌套的引用(看起来更容易):
for f:=1..RowsAmount step 1 {
a:=tab.rows[f].ColumnsAmount
display(tab.rows[f].Columns[a])
}
所引用的示例也是如此,还需要考虑两个引用。 CarAmount
出现了10次,因此需要完整的参考来确定哪个CarAmount
:
data[]
CarAmount
data[]
car[]
name
添加下标:
data[f]
CarAmount
data[f]
car[a]
name
然后输入代码:
for f:=1..10 step 1 {
for a:=1..data[f].CarAmount step 1 {
display(data[f].car[a].name)
}
}