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

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

01.06.2009, 18:36. Показов 1466. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Имеются машины 6 различных марок (Opel, Renault, Seat, Fiat, Volvo, Toyota) нужно построить круговую диаграмму количества машин по маркам.

Помогите пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2009, 18:36
Ответы с готовыми решениями:

Построить круговую диаграмму
В диаграмме отразить долю каждого государства в выпуске космических аппаратов за 1997 год ...

Построить круговую диаграмму “Нормы питания"
Построить круговую диаграмму “Нормы питания девочек 11-13 лет”. Девочки 11-13 лет должны получать в...

Построить круговую диаграмму успеваемости студентов группы по ТА
78. Построить круговую диаграмму успеваемости студентов группы по ТА.

Построить круговую диаграмму, отображающую процентное соотношение отличников
Помогите, пожалуйста, составить программу!!! Построить круговую диаграмму, отображающую...

2
38 / 37 / 23
Регистрация: 01.06.2009
Сообщений: 59
01.06.2009, 20:23 2
Delphi
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
55
56
57
58
59
60
61
uses graph;
type
  Auto = (Opel, Renault, Seat, Fiat, Volvo, Toyota);
const
  R  = 150;
  RT = 175;
 
  title: array[Auto]of string = (
    'Opel', 'Renault', 'Seat', 'Fiat', 'Volvo', 'Toyota'
  );
  count: array[Auto] of integer = (
    3, 6, 2, 9, 8, 7
  );
 
function inttostr(i: integer): string;
var s: string;
begin
  str(i, s);
  inttostr := s;
end;
 
var
  i: Auto;
  cx, cy: integer;
  gd, gm, total, angle_s, angle_f: integer;
  angle_m: real;
 
 
begin
  initgraph(gd, gm, '');
  if graphresult <> grok then begin
    writeln('graphics error'); readln; halt(100);
  end;
 
  total := 0;
  for i := low(auto) to high(auto) do
    inc(total, count[i]);
 
  cx := getmaxx div 2; cy := getmaxy div 2;
  angle_s := 0;
  settextjustify(centertext, centertext);
  for i := low(auto) to high(auto) do begin
    setfillstyle(solidfill, ord(i) + 1);
 
    if i = high(auto) then angle_f := 360
    else
      angle_f := angle_s + trunc(count[i] * (360 / total));
 
    pieslice(cx, cy, angle_s, angle_f, R);
    angle_m := angle_s + (angle_f - angle_s) / 2;
    outtextxy(
      cx + Trunc(RT * cos(angle_m * pi / 180)),
      cy - Trunc(RT * sin(angle_m * pi / 180)),
      title[i] + '(' + inttostr(trunc(count[i] / total * 100)) + '%)'
    );
 
    angle_s := angle_f;
  end;
  readln;
  closegraph;
end.
Идея понятна?
1
0 / 0 / 0
Регистрация: 24.05.2009
Сообщений: 15
01.06.2009, 20:37  [ТС] 3
Буду разбираться - большое спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2009, 20:37
Помогаю со студенческими работами здесь

Массив. Построить круговую диаграмму по заданному пользователем массиву
Построить круговую диаграмму по заданному пользователем массиву. Количество элементов массива...

Построить круговую диаграмму распределения количества элементов в каждом интервале для каждой строки матрицы
&quot;Дан массив А(10,60) значения элементов заданы случайными числами в пределах: 1,2,3,9 строки от ...

Построить круговую диаграмму и столбиковую диаграмму. Использовать Фильтр для определения марки автомобилей
Долго болел, многого не понимаю помогите, пожалуйста, с заданием. Очень нужно:wall::help:

Построить круговую диаграмму
Дан массив вещественные чисел, построить круговую диаграмму Можео ли вообще при помощи Си...

Построить круговую диаграмму
Полученную за прошлый год прибыль администрация предприятия распределила следующим образом: 1350...

построить круговую диаграмму
построить круговую диаграмму численности населения в поселке за 2000-2004 гг. годы ...


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

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

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