2015-01-19 5 views
0

Я пытаюсь создать диаграмму Tally, основанную на значениях, хранящихся в массиве.Array 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-

Спасибо.

ответ

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

Извините, я не дал достаточно ясности в описании проблемы. Счет должен составлять от 1 до 10. Если были созданы следующие три случайных числа [3,3,6], это должно выглядеть так: 1- 2- 3-II 4- 5- 6-I 7-ETC. Нужно ли создавать новый массив для достижения этого? – user3396486

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; 
+0

Вам не нужно обнулять «i» в начале этой функции. Кроме того, замените все экземпляры «TotalCount» на «результат», а затем вы также можете потерять окончательное назначение. –

Смежные вопросы