数组计数表

时间:2015-01-19 21:55:55

标签: pascal

我正在尝试根据存储在数组中的值创建一个Tally Chart。

我知道可以在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
  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-我 10 -

感谢。

2 个答案:

答案 0 :(得分:0)

显而易见的方法是循环另一个:

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]);

答案 1 :(得分:0)

认为它现在有用...我创建了一个函数来返回每个元素中的实例数。那个结果让我知道没有。每个数字的迭代次数。

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;