Histogram z liczb

Transkrypt

Histogram z liczb
Histogram z liczb
Napisz program, który wyświetli histogram dla liczb podanych na wejsciu. Dane należy
odczytywać do końca pliku. Wykorzystaj rozwiązanie poprzedniego zadania, zastępując
wyświetlanie wyników poniższym fragmentem kodu. Uzupełnij listę zmiennych i dodaj stałą o
nazwie SZEROKOSC równą 30.
{znajdz najwieksza liczbe wystapien}
maksimum := tablica[-MAX];
for i:=-MAX to MAX do
if tablica[i]>maksimum then
maksimum:=tablica[i];
{jesli byla chociaz jedna liczba wypisz histogram}
if (maksimum>0) then
for i:=-MAX to MAX do
begin
{dla kazdej linii wypisz liczbe na 4 polach, kreske, odpowiednia ilosc gwiazdek i kreske na koncu}
write(i:4,':|');
{gwiazdek - proporcjonalnie do wartosci maksymalnej}
ile:= round(SZEROKOSC*tablica[i] / maksimum);
for j:=1 to SZEROKOSC do
if (j<=ile) then
write('*')
else
write(' ');
writeln('|');
end;
Wejście
Wiersze z liczbami całkowitymi z przedziału < -10, 10 >
Wyjście
21 wierszy, w każdym kolejna liczba z przedziału na 4 polach, dwukropek, kreska, odpowiednia
ilość gwiazdek i kreska na końcu.
Przykład 1
Wejście:
5
2
-7
-3
0
0
-3
2
1
2
Wyjście:
-10:|
|
-9:|
|
-8:|
|
-7:|**********
|
-6:|
|
-5:|
|
-4:|
|
-3:|********************
|
-2:|
|
-1:|
|
0:|********************
|
1:|**********
|
2:|******************************|
3:|
|
4:|
|
5:|**********
|
6:|
|
7:|
|
8:|
|
9:|
|
10:|
|
Przykład 2
Wejście:
-10
-9
-9
-8
-8
-8
-7
-7
-7
-7
-6
-6
-6
-6
-6
-5
-5
-5
-5
-5
-5
-4
-4
-4
-4
-4
-4
-4
-3
-3
-3
-3
-3
-3
-3
-3
-2
-2
-2
-2
-2
-2
-2
-2
-2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
Wyjście:
-10:|*
|
-9:|***
|
-8:|****
|
-7:|******
|
-6:|*******
|
-5:|*********
|
-4:|**********
|
-3:|***********
|
-2:|*************
|
-1:|**************
|
0:|****************
|
1:|*****************
|
2:|*******************
|
3:|********************
|
4:|*********************
|
5:|***********************
|
6:|************************
|
7:|************************** |
8:|*************************** |
9:|***************************** |
10:|******************************|
Przykład 3
Wejście:
5
-1
0
3
3
-1
0
1
0
1
-1
0
2
0
-2
3
1
-1
0
4
0
4
1
0
0
-1
1
1
0
0
1
-3
3
3
0
0
-1
2
0
2
1
0
-1
1
0
-1
2
-2
2
2
2
2
-1
-2
2
-2
-1
2
-3
0
2
-2
0
0
1
-1
1
2
0
3
1
0
-1
-1
0
-2
-1
2
1
0
-1
2
-1
-1
-1
3
2
0
0
1
-1
1
-1
4
1
0
-2
2
2
2
Wyjście:
-10:|
|
-9:|
|
-8:|
|
-7:|
|
-6:|
|
-5:|
|
-4:|
|
-3:|**
|
-2:|********
|
-1:|***********************
|
0:|******************************|
1:|******************
|
2:|*********************
|
3:|********
|
4:|***
|
5:|*
|
6:|
|
7:|
|
8:|
|
9:|
|
10:|
|