Pascal 阵列理货图
我试图根据数组中存储的值创建一个理货图 我知道在Python中可以做到这一点,但是有没有办法在Pascal中做到这一点,将编码量保持在最低限度Pascal 阵列理货图,pascal,Pascal,我试图根据数组中存储的值创建一个理货图 我知道在Python中可以做到这一点,但是有没有办法在Pascal中做到这一点,将编码量保持在最低限度 var numbers:array [0..9] of integer; Sum,aNumber, count,count2:integer; Average:real=0; begin randomize; // Put 10 Random numbers into an array for count:= 0 to 9 do
var numbers:array [0..9] of integer;
Sum,aNumber, count,count2:integer;
Average:real=0;
begin
randomize;
// Put 10 Random numbers into an array
for count:= 0 to 9 do
begin
aNumber:=Random(10)+1;
numbers[count]:=aNumber
end;
// Show a Tally
begin
for count:= 0 to 9 do
writeln(numbers[count] * '£');
writeln;
end;
readln;
end.
我只想通过显示所有可能的值来显示数组的结果。例如,如果我的数组具有以下介于1和10之间的随机值:3,3,8,8,9,则应显示:
1-
2-
3-II
4-
..
8-II
9-I
十,-
谢谢。显而易见的方法是另一种for循环:
for count := 0 to 9 do
begin
for i := 1 to numbers[count] do
write('£');
writeln;
end
如果您只需要在正确的位置使用一个字符,您可以使用以下内容:
for count := 0 to 9 do
writeln('£' : numbers[count]);
我想现在可以了。。。我创建了一个函数来返回每个元素中的实例数。这个结果帮助我知道每个数字的迭代次数
Function TallyCount(x:integer):integer;
var i,TotalCount:integer;
begin
i:=0;
TotalCount:=0;
for i := 0 to 9 do
begin
if numbers[i] = x then
TotalCount:=TotalCount +1;
end;
result:=Totalcount;
end;
对不起,我在问题描述中没有说得足够清楚。总数应该从1到10。如果生成了以下三个随机数[3,3,6],它应该是这样的:1-2-3-II 4-5-6-I 7-等等。我需要创建一个新数组来实现这一点吗?你不需要在这个函数的开头将“I”置零。此外,将“TotalCount”的所有实例替换为“result”,这样也可能会丢失最终分配。