Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pascal 阵列理货图_Pascal - Fatal编程技术网

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

我试图根据数组中存储的值创建一个理货图

我知道在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-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”,这样也可能会丢失最终分配。