0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 26
1

гистограмма

19.11.2011, 17:17. Показов 1344. Ответов 4
Метки нет (Все метки)

помогите сделать легенду и чтобы квадратики были широкие

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
uses crt;
Var a,b:array[1..4] of byte;
    x,y:string;
    i,j,k,mx,h:integer;
    msh:real;
begin
clrscr;
writeln('оценки :');
write('5- '); readln(a[1]);
write('4- '); readln(a[2]);
write('3- '); readln(a[3]);
write('2- '); readln(a[4]);
k:=0;
for i:=1 to 4 do
k:=k+a[i];
for i:=1 to 4 do
b[i]:=round(a[i]*120/k);
clrscr;
gotoxy(1,25);{низ экрана}
for i:=1 to 4 do
 begin
  gotoxy(i*6,wherey);{через 3 позиции}
  textcolor(10+i);
  write(6-i);{выводим оценки}
 end;
mx:=0;{найдем максимальное значение}
for i:=1 to 4 do
if b[i]>mx then mx:=b[i];
msh:=20/mx;{вертикальный масштаб}
for i:=1 to 4 do
 begin
  h:=i*6;{горизонтальный масштаб}
  for j:=24 downto 24-round(b[i]*msh) do
   begin
    gotoxy(h,j);{идем вверх}
    textcolor(10+i);
    write(#219);{рисуем квадратики}
   end;
  gotoxy(h,wherey-1);{на 1 вверх}
  textcolor(10+i);
  write(b[i],'%');{выводим значение}
 end;
readln;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2011, 17:17
Ответы с готовыми решениями:

Гистограмма
Дано предложение.Нарисовать вертикальную гистограмму символов этого предложения.

Гистограмма
Вот есть гистограмма ток как сделать так чтоб выводило больше 12(до 100) столбцов и высоту до 3000...

Файли.Гистограмма
МОжет кто поможет а то не знаю как делать.. Придположения через структуры... Составить...

Гистограмма данных!
Если это возможно,можно код программы,которая бы строила по уже имеющимся данным в тестовом файле...

4
Почетный модератор
64270 / 47569 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
19.11.2011, 20:29 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
uses crt;
Var a,b:array[1..4] of byte;
    x,y:string;
    i,j,k,mx,h:integer;
    msh:real;
begin
textbackground(0);
textcolor(15);
clrscr;
writeln('оценки :');
write('5- '); readln(a[1]);
write('4- '); readln(a[2]);
write('3- '); readln(a[3]);
write('2- '); readln(a[4]);
k:=0;
for i:=1 to 4 do
k:=k+a[i];
for i:=1 to 4 do
b[i]:=round(a[i]*120/k);
clrscr;
mx:=0;{найдем максимальное значение}
for i:=1 to 4 do
if b[i]>mx then mx:=b[i];
msh:=20/mx;{вертикальный масштаб}
for i:=1 to 4 do
 begin
  h:=i*10;{горизонтальный масштаб}
  for j:=24 downto 24-round(b[i]*msh) do
   begin
    textcolor(10+i);
    gotoxy(h,j);{идем вверх}
    for k:=1 to 5 do write(#219);{рисуем квадратики}
    end;
  gotoxy(h+1,wherey-1);{на 1 вверх}
  textcolor(10+i);
  write(b[i],'%');{выводим значение}
 end;
h:=2;
for k:=1 to 4 do
 begin
  textcolor(10+k);
  for i:=h to h+2 do
  for j:=1 to 5 do
   begin
    gotoXY(50+j,i);
    write(#219);
   end;
  gotoXY(57,i-1);
  write(6-k);
  h:=h+4;
 end;
gotoXY(80,25);
readln
end.
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 26
19.11.2011, 20:47  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
uses crt;
Var a,b:array[1..4] of byte;
    x,y:string;
    i,j,k,mx,h:integer;
    msh:real;
begin
textbackground(0);
textcolor(15);
clrscr;
writeln('оценки :');
write('5- '); readln(a[1]);
write('4- '); readln(a[2]);
write('3- '); readln(a[3]);
write('2- '); readln(a[4]);
k:=0;
for i:=1 to 4 do
k:=k+a[i];
for i:=1 to 4 do
b[i]:=round(a[i]*120/k);
clrscr;
mx:=0;{найдем максимальное значение}
for i:=1 to 4 do
if b[i]>mx then mx:=b[i];
msh:=20/mx;{вертикальный масштаб}
for i:=1 to 4 do
 begin
  h:=i*10;{горизонтальный масштаб}
  for j:=24 downto 24-round(b[i]*msh) do
   begin
    textcolor(10+i);
    gotoxy(h,j);{идем вверх}
    for k:=1 to 5 do write(#219);{рисуем квадратики}
    end;
  gotoxy(h+1,wherey-1);{на 1 вверх}
  textcolor(10+i);
  write(b[i],'%');{выводим значение}
 end;
h:=2;
for k:=1 to 4 do
 begin
  textcolor(10+k);
  for i:=h to h+2 do
  for j:=1 to 5 do
   begin
    gotoXY(50+j,i);
    write(#219);
   end;
  gotoXY(57,i-1);
  write(6-k);
  h:=h+4;
 end;
gotoXY(80,25);
readln
end.
сможешь сделать чтобы еще показывалось какие данные я вводил
0
Почетный модератор
64270 / 47569 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
19.11.2011, 21:09 4
Конечно, только шнурки поглажу и побегу...
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 26
20.11.2011, 20:12  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
Конечно, только шнурки поглажу и побегу...
помоги плз в этой программе
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2011, 20:12
Помогаю со студенческими работами здесь

Столбчатая диаграмма (гистограмма)
даны семь действительных чисел а1...а7. Построить гистограмму для этих значений. для большей...

Гистограмма
Столбчатая диаграмма (гистограмма) представляет собой набор прямоугольников, основания которых...

Массив гистограмма
Кто может написать прогу, которая строит из массива случайных чисел вертикальную гистограмму?

Гистограмма успеваемости
Написать программу, которая выводит на экран гистограмму успеваемости студентов группы, например,...

Гистограмма массива
Подскажите что мне надо изменить в процедуре что бы в диаграмме показывались и отрицательные...

Столбчатая диаграмма (гистограмма)
Столбчатая диаграмма (гистограмма) представляет собой набор прямоугольников, основания которых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru