Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32

не строится дерево

23.11.2012, 17:24. Показов 3397. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В матлабе новичок, но надо построить дерево, а оно строится как то странно, не понимаю почему. Строится квадратик с линиями
Matlab M
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
function Calculation
 
  l = 25;
  h = 5;
  r = 2;
  k = 5;
  p1 = [line([0, 0], [0, 2 * r]) line([0, 2 * r], [2 * r, 2 * r]) line([2 * r, 2 * r], [2 * r, 0]) line([2 * r, 0], [0, 0])]; 
  l11 = line([2 * r, r], [l + 2 * r, (h + r) * k],  'LineStyle','-.');
  l12 = line([2 * r, r], [2 * l + 4 * r, (-2 * h + r) * k],  'LineStyle','-.');
  p4 = [line([2 * l + 4 * r, (-2 * h + r) * k + r], [2 * l + 4 * r, (-2 * h + r) * k - r]) line([2 * l + 4 * r, (-2 * h + r) * k - r], [6 * r + 2 * l, (-2 * h + r) * k - r]) line([6 * r + 2 * l, (-2 * h + r) * k - r], [6 * r + 2 * l, (-2 * h + r) * k + r]) line([6 * r + 2 * l, (-2 * h + r) * k + r], [2 * l + 4 * r, (-2 * h + r) * k + r])];
  pA = circle(3 * r + l, (h + r) * k, r);
  l21 = line([4 * r + l, (h + r) * k], [2 * l + 4 * r, (2 * h + r) * k]);
  l22 = line([4 * r + l, (h + r) * k], [2 * l + 4 * r, r * k]);
  p3 = [line([2 * l + 4 * r, r * k - r], [2 * l + 4 * r, r * k + r]) line([2 * l + 4 * r, r * k + r], [6 * r + 2 * l, r * k + r]) line([6 * r + 2 * l, r * k + r], [6 * r + 2 * l, r * k - r]) line([6 * r + 2 * l, r * k - r], [2 * l + 4 * r, r * k - r])];
  p2 = [line([2 * l + 4 * r, (2 * h + r) * k - r], [2 * l + 4 * r, (2 * h + r) * k + r]) line([2 * l + 4 * r, (2 * h + r) * k + r], [6 * r + 2 * l, (2 * h + r) * k + r]) line([6 * r + 2 * l, (2 * h + r) * k + r], [6 * r + 2 * l, (2 * h + r) * k - r]) line([6 * r + 2 * l, (2 * h + r) * k - r], [2 * l + 4 * r, (2 * h + r) * k - r])];
  l31 = line([6 * r + 2 * l, (2 * h + r) * k], [6 * r + 3 * l, (0.8 / 0.3 * h + r) * k], 'LineStyle','-.'); 
  l32 = line([6 * r + 2 * l, (2 * h + r) * k], [6 * r + 3 * l, (0.4 / 0.3 * h + r) * k],  'LineStyle','-.');
  l33 = line([6 * r + 2 * l, r * k], [6 * r + 3 * l, (0.2 / 0.3 * h + r) * k],  'LineStyle','-.');
  l34 = line([6 * r + 2 * l, r * k], [6 * r + 3 * l, (-0.2 / 0.3 * h + r) * k],  'LineStyle','-.');
  l35 = line(6 * r + 2 * l, (-2 * h + r) * k, 6 * r + 3 * l, (-0.4 / 0.3 * h + r) * k,  'LineStyle','-.');
  l36 = line(6 * r + 2 * l, (-2 * h + r) * k, 6 * r + 3 * l, (-0.8 / 0.3 * h + r) * k,  'LineStyle','-.');
  pB = circle(7 * r + 3 * l, (0.8 / 0.3 * h + r) * k, r);
  pC = circle(7 * r + 3 * l, (0.4 / 0.3 * h + r) * k, r);
  pD = circle(7 * r + 3 * l, (0.2 / 0.3 * h + r) * k, r);
  pE = circle(7 * r + 3 * l, (-0.2/ 0.3 * h + r) * k, r);
  pF = circle(7 * r + 3 * l, (-0.4 / 0.3 * h + r) * k, r);
  pG = circle(7 * r + 3 * l, (-0.8 / 0.3 * h + r) * k, r);
  l41 = line(8 * r + 3 * l, (0.8/ 0.3 * h + r) * k, 8 * r + 4 * l, (3 * h + r) * k);
  l42 = line(8 * r + 3 * l, (0.8 / 0.3 * h + r) * k, 8 * r + 4 * l, (0.7 / 0.3 * h + r) * k);
  l43 = line(8 * r + 3 * l, (0.4 / 0.3* h + r) * k, 8 * r + 4 * l, (0.4 / 0.3 * h + r) * k);
  l44 = line(8 * r + 3 * l, (0.2 / 0.3 * h + r) * k, 8 * r + 4 * l, (h + r) * k);
  l45 = line(8 * r + 3 * l, (0.2 / 0.3 * h + r) * k, 8 * r + 4 * l, (h / 0.3 + r) * k);
  l46 = line(8 * r + 3 * l, (-0.2 / 0.3 * h + r) * k, 8 * r + 4 * l, (-0.2 / 0.3 * h + r) * k);
  l47 = line(8 * r + 3 * l, (-0.4 / 0.3 * h + r) * k, 8 * r + 4 * l, (-h + r) * k);
  l48 = line(8 * r + 3 * l, (-0.4 / 0.3 * h + r) * k, 8 * r + 4 * l, (-0.5 / 0.3 * h + r) * k);
  l49 = line(8 * r + 3 * l, (-0.8 / 0.3 * h + r) * k, 8 * r + 4 * l, (-0.8 / 0.3 * h + r) * k);
  %t1 = textplot([r, r, '1'], font == ([TIMES, ROMAN, 10]), color == black);
  %t2 = textplot([5 * r + 2 * l, (2 * h + r) * k, '2'], font == ([TIMES, ROMAN, 10]), color == black);
 % t3 = textplot([5 * r + 2 * l, r * k, '3'], font == ([TIMES, ROMAN, 10]), color == black);
 % t4 = textplot([5 * r + 2 * l, (-2 * h + r) * k, '4'], font == ([TIMES, ROMAN, 10]), color == black);
 % tA = textplot([3 * r + l, (h + r) * k, 'A'], font == ([TIMES, ROMAN, 10]), color == black);
 % tB = textplot([7 * r + 3 * l, (0.8e1 / 0.3e1 * h + r) * k, 'B'], font == ([TIMES, ROMAN, 10]), color == black);
 % tC = textplot([7 * r + 3 * l, (0.4e1 / 0.3e1 * h + r) * k, 'C'], font == ([TIMES, ROMAN, 10]), color == black);
 % tD = textplot([7 * r + 3 * l, (0.2e1 / 0.3e1 * h + r) * k, 'D'], font == ([TIMES, ROMAN, 10]), color == black);
 % tE = textplot([7 * r + 3 * l, (-0.2e1 / 0.3e1 * h + r) * k, 'E'], font == ([TIMES, ROMAN, 10]), color == black);
 % tF = textplot([7 * r + 3 * l, (-0.4e1 / 0.3e1 * h + r) * k, 'F'], font == ([TIMES, ROMAN, 10]), color == black);
 % tG = textplot([7 * r + 3 * l, (-0.8e1 / 0.3e1 * h + r) * k, 'G'], font == ([TIMES, ROMAN, 10]), color == black);
 % t11 = textplot([10, 10, 'Проведение аудиторской проверки'], font == ([TIMES, ROMAN, 8]), color == black);
  %t12 = textplot([10, -10, 'Отсутствие аудиторской проверки'], font == ([TIMES, ROMAN, 8]), color == black);
 % t21 = textplot([50, 50, 'Выдача займа рекомендована'], font == ([TIMES, ROMAN, 8]), color == black);
 % t22 = textplot([50, 17, 'Выдача займа не рекомендована'], font == ([TIMES, ROMAN, 8]), color == black);
 % t31 = textplot([70, 70, 'Ссуда выдается'], font == ([TIMES, ROMAN, 8]), color == black);
  %t32 = textplot([70, 25, 'Ссуда выдается'], font == ([TIMES, ROMAN, 8]), color == black);
 % t33 = textplot([70, -30, 'Ссуда выдается'], font == ([TIMES, ROMAN, 8]), color == black);
 % t34 = textplot([70, 45, 'Ссуда не выдается'], font == ([TIMES, ROMAN, 8]), color == black);
%  t35 = textplot([70, 5, 'Ссуда не выдается'], font == ([TIMES, ROMAN, 8]), color == black);
 % t36 = textplot([70, -55, 'Ссуда не выдается'], font == ([TIMES, ROMAN, 8]), color == black);
%  t37 = textplot([100, 85, 'Возвращены при годовом %'], font == ([TIMES, ROMAN, 8]), color == black);
%  t38 = textplot([110, 70, 'Не возвращены'], font == ([TIMES, ROMAN, 8]), color == black);
 % t39 = textplot([110, 47, 'Возвращены при вложении %'], font == ([TIMES, ROMAN, 8]), color == black);
%  t40 = textplot([110, 37, 'Возвращены при годовом %'], font == ([TIMES, ROMAN, 8]), color == black);
 % t41 = textplot([110, 20, 'Не возвращены '], font == ([TIMES, ROMAN, 8]), color == black);
 % t42 = textplot([110, -4, 'Возвращены при вложении % '], font == ([TIMES, ROMAN, 8]), color == black);
 % t43 = textplot([110, -15, 'Возвращены при годовом % '], font == ([TIMES, ROMAN, 8]), color == black);
%  t44 = textplot([110, -30, 'Не возвращены '], font == ([TIMES, ROMAN, 8]), color == black);
 % t45 = textplot([122, -50, 'Возвращены при вложении % '], font == ([TIMES, ROMAN, 8]), color == black);
  
 % t46 = textplot([170, 85, maks], font == ([TIMES, ROMAN, 8]), color == black);
 % t47 = textplot([170, 70, '0'], font == ([TIMES, ROMAN, 8]), color == black);
  %t48 = textplot([170, 48, EC], font == ([TIMES, ROMAN, 8]), color == black);
  %t49 = textplot([170, 38, maks], font == ([TIMES, ROMAN, 8]), color == black);
 % t50 = textplot([170, 20, '0'], font == ([TIMES, ROMAN, 8]), color == black);
 % t51 = textplot([170, -4, EC], font == ([TIMES, ROMAN, 8]), color == black);
 % t52 = textplot([170, -15, maks], font == ([TIMES, ROMAN, 8]), color == black);
 % t53 = textplot([170, -30, 0], font == ([TIMES, ROMAN, 8]), color == black);
 % t54 = textplot([170, -50, EC], font == ([TIMES, ROMAN, 8]), color == black);
  %t55 = textplot([-10, 1, staudp], font == ([TIMES, ROMAN, 8]), color == black);
  all = [p1 p2 p3 p4 pA pB pC pD pE pF pG l11 l12 l21 l22 l31 l32 l33 l34 l35 l36 l41 l42 l43 l44 l45 l46 l47 l48 l49];
 % ot1 = [t1 tA t2 tB t11 t21 t31];
display(all );
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2012, 17:24
Ответы с готовыми решениями:

Бинарное дерево: как происходит добавления элемента в дерево с двумя параметрами
Здравствуйте! Прошу помощи у опытных программистов...)))) Есть класс дерево: class class1 { public class Tree ...

Сформировать дерево Т и определить число вхождений параметра Е в дерево Т - Блок схема
Сформировать дерево Т и определить число вхождений параметра Е в дерево Т. Вот решение задачи, народ, помогите, кто может, составить...

Методы индексирования на основе функции расстояния. Универсальное деление гиперплоскостями. Дерево биссектрис и МВ-дерево
Доброго времени суток. В поисках информации для курсовика жизнь занесла сюда :) Поделитесь информацией, литературой :) Тема:...

20
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.11.2012, 18:54
Все, кажется разобрался!
Ладно, томить не буду - у тебя на носу много работы:
Ты пишешь:

l11 = line([2*r, r], [l+2*r, (h+r)*k]);

и подразумеваешь под этим, что линия идет от (2*r, r) до (l+2*r, (h+r)*k), т.е. от (x1,y1) до (x2,y2) как в прочих языках программирования, но "это MATLAB, детка!"
Функция line имеет синтаксис line(X,Y), где X и Y - массивы значений абсцисс и ординат вершин!
Т.е. нужно было записать line([x1,x2], [y1,y2]) !
Вот я исправил две линии:
Matlab M
1
2
3
4
5
6
7
l = 25;
h = 5;
r = 2;
k = 5;
p1 = [line([0, 0], [0, 2 * r]) line([0, 2 * r], [2 * r, 2 * r]) line([2 * r, 2 * r], [2 * r, 0]) line([2 * r, 0], [0, 0])];
l11 = line([2*r,l+2*r],[r, (h+r)*k],  'LineStyle','-.');
l12 = line([2*r, 2*l+4*r], [r, (-2*h+r)*k],  'LineStyle','-.');
Получилось вот то:

Это уже немного начинает напоминать веточки

Если у тебя line([x1,y1],[x2,y2]), то тебе фактически нужно поменять везде местами значения y1 и x2 и ты получишь то, что нужно!

И еще, в MATLAB нет функции circle! Тут нужно выкручиваться - писать отдельную ф-цию.
1
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
23.11.2012, 19:23
И еще, вместо того, чтобы писать 10 раз line в матлаб можно написать:
line([x1,x2,x3,...,x10],[y1,y2,y3,...,y10])
Это должно немного облегчить тебе задачу.
А вот функция для рисования кружочков (сохрани ее в тойже папочке, что и программу под именем circle.m)
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
function [x, y] = circle(x0, y0, r)
% Ф-ция рисования окружности
% x0, y0 - координаты центра
% r - радиус
fi = 0:360;
%параметрический расчет точек
x = x0 + r*cosd(fi);
y = y0 + r*sind(fi);
% рисуем график в томже окне
hold on
plot(x,y)
end
Тогда тебе не придется исправлять строки с circle, они останутся без изменений!
Ну и если вопросы будут, то спрашивай не стесняйся!
*эх, люблю рисовашки! ^__^
1
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
24.11.2012, 02:17  [ТС]
От матлаба я совсем видимо далека, это дерево(all) наложить решение задачи(ok). Ветка должна выделяться, а как ее наложить, чтобы строилось вместе с деревом. Или проще сделать 2 графика: 1 - исходное дерево, 2- ветка с решением?
Matlab M
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
 summa=  15000;
  proc1 = 0.15;
  proc2 = 0.9;
  proc3 = 0.4;
  proc4 = 0.1 - proc3;
  dohodcr = summa * proc1;
  dohodvl = summa * proc2;
  odcr = (summa + dohodcr) * proc4 - summa;
  odvl = dohodvl;
  staudp = 80;
  people = 1000;
  pd = 750;
  pdpr = pd / people;
  pnd = 250;
  pndpr = pnd / people;
  pdv = 735;
  pndv = 225;
  pdnv = pd - pdv;
  pndnv = pnd - pndv;
  summa1 = summa + dohodcr;
  summa2 = summa + dohodvl;
  Pvr = pdv / pd * 1;
  Pnvr = pdnv / pd * 1;
  Pvnr = pndv / pnd * 1;
  Pnvnr = pndnv / pnd * 1;
  EB = summa1 * Pvr;
  NEB = EB - summa;
  EC = summa2;
  NEC = EC - summa;
  ED = summa1 * Pvnr;
  NED = ED - summa;
  EE = summa2;
  NEE = EE - summa;
  EF = summa + odcr;
  NEF = odcr;
  EG = summa + odvl;
  NEG = odvl;
  EA = NEB * pdpr + NEC * pndpr;
  NEA = EA - staudp;
l = 25.00;
  h = 5.00;
  r = 2.00;
  k = 5.00;
 fi = 0:360;
p1 = [line([0, 0], [0, 2 * r]) line([0, 2 * r], [2 * r, 2 * r]) line([2 * r, 2 * r], [2 * r, 0]) line([2 * r, 0], [0, 0]),...
 text(r, r, '1'),text(5 * r + 2 * l, (2 * h + r) * k, '2'),text(3 * r + l, (h + r) * k, 'A'),...
 text(7 * r + 3 * l, (8 / 3 * h + r) * k, 'B'),text(7 * r + 3 * l, (4 / 3 * h + r) * k, 'C'),...
 text(10, 10, 'Проведение аудиторской проверки','FontSize',5),text(40, 40, 'Выдача займа рекомендована','FontSize',5),...
 text(70, 70, 'Ссуда выдается','FontSize',5),text(70, 45, 'Ссуда не выдается','FontSize',5),text(90, 88, 'Возвращены при годовом %','FontSize',5),...
 text(100, 70, 'Не возвращены','FontSize',5),text(90, 47, 'Возвращены при вложении %','FontSize',5)];
l11 = line([2*r,l+2*r],[r, (h+r)*k],  'LineStyle','-.');
l12 = line([2*r, 2*l+4*r], [r, (-2*h+r)*k],  'LineStyle','-.');
p4 = [line([2 * l + 4 * r,2 * l + 4 * r ], [(-2 * h + r) * k + r, (-2 * h + r) * k - r])...
line([2 * l + 4 * r,6 * r + 2 * l ], [(-2 * h + r) * k - r, (-2 * h + r) * k - r])...
line([6 * r + 2 * l,6 * r + 2 * l ], [(-2 * h + r) * k - r, (-2 * h + r) * k + r])...
line([6 * r + 2 * l,2 * l + 4 * r], [(-2 * h + r) * k + r, (-2 * h + r) * k + r]),text(5 * r + 2 * l, r * k, '3'),...
text(7 * r + 3 * l, (0.2e1 / 0.3e1 * h + r) * k, 'D'),text(7 * r + 3 * l, (-0.2e1 / 0.3e1 * h + r) * k, 'E'),...
text(30, 17, 'Выдача займа не рекомендована','FontSize',5),text(70, 25, 'Ссуда выдается','FontSize',5),...
text(70, 5, 'Ссуда не выдается','FontSize',5),text(90, 37, 'Возвращены при годовом %','FontSize',5),text(90, 20, 'Не возвращены ','FontSize',5)...
text(90, -4, 'Возвращены при вложении % ','FontSize',5)];
pA = circle(3 * r + l, (h + r) * k, r);
l21 = line([4 * r + l,2 * l + 4 * r], [ (h + r) * k, (2 * h + r) * k]); 
l22 = line([4 * r + l,2 * l + 4 * r ], [(h + r) * k, r * k]);
p3 = [line([2 * l + 4 * r,2 * l + 4 * r ], [r * k - r, r * k + r])...
line([2 * l + 4 * r,6 * r + 2 * l], [r * k + r, r * k + r]) line([6 * r + 2 * l, r * k + r], [6 * r + 2 * l, r * k - r])...
line([6 * r + 2 * l,2 * l + 4 * r ], [r * k - r, r * k - r]),text(5 * r + 2 * l, (-2 * h + r) * k, '4'),...
text(7 * r + 3 * l, (-0.4e1 / 0.3e1 * h + r) * k, 'F'),text(7 * r + 3 * l, (-0.8e1 / 0.3e1 * h + r) * k, 'G'),...
text(5, -5, 'Отсутствие аудиторской проверки','FontSize',5),text(70, -30, 'Ссуда выдается','FontSize',5),text(70, -55, 'Ссуда не выдается','FontSize',5)...
text(90, -15, 'Возвращены при годовом % ','FontSize',5),text(90, -30, 'Не возвращены ','FontSize',5),...
text(90, -50, 'Возвращены при вложении % ','FontSize',5)];
p2 = [line([2 * l + 4 * r,2 * l + 4 * r ], [(2 * h + r) * k - r, (2 * h + r) * k + r])...
line([2 * l + 4 * r,6 * r + 2 * l ], [(2 * h + r) * k + r, (2 * h + r) * k + r])...
line([6 * r + 2 * l,6 * r + 2 * l ], [(2 * h + r) * k + r, (2 * h + r) * k - r])...
line([6 * r + 2 * l,2 * l + 4 * r ], [(2 * h + r) * k - r, (2 * h + r) * k - r])];
l31 = line([6 * r + 2 * l,6 * r + 3 * l ], [(2 * h + r) * k, (8 / 3 * h + r) * k], 'LineStyle','-.');  
l32 = line([6 * r + 2 * l,6 * r + 3 * l ], [(2 * h + r) * k, (4 / 3 * h + r) * k],'LineStyle','-.');
l33 = line([6 * r + 2 * l,6 * r + 3 * l ], [r * k, (2 / 3 * h + r) * k], 'LineStyle','-.');
l34 = line([6 * r + 2 * l,6 * r + 3 * l ], [r * k, (-2 / 3 * h + r) * k], 'LineStyle','-.');
l35 = line([6 * r + 2 * l,6 * r + 3 * l ], [(-2 * h + r) * k, (-4 /3 * h + r) * k], 'LineStyle','-.');
l36 = line([6 * r + 2 * l,6 * r + 3 * l ], [(-2 * h + r) * k, (-8 / 3 * h + r) * k], 'LineStyle','-.');
 pB = circle(7 * r + 3 * l, (8 / 3 * h + r) * k, r);
 pC = circle(7 * r + 3 * l, (4 / 3 * h + r) * k, r);
 pD = circle(7 * r + 3 * l, (2 / 3 * h + r) * k, r);
  pE = circle(7 * r + 3 * l, (-2 / 3 * h + r) * k, r);
  pF = circle(7 * r + 3 * l, (-4 / 3 * h + r) * k, r);
  pG = circle(7 * r + 3 * l, (-8 / 3 * h + r) * k, r);
  l41 = line([8 * r + 3 * l,8 * r + 4 * l ], [(8 / 3 * h + r) * k, (3 * h + r) * k]); 
  l42 = line([8 * r + 3 * l, 8 * r + 4 * l], [(8 / 3 * h + r) * k, (7 / 3 * h + r) * k]);
  l43 = line([8 * r + 3 * l, 8 * r + 4 * l], [(4 / 3 * h + r) * k, (4 / 3 * h + r) * k]);
  l44 = line([8 * r + 3 * l,8 * r + 4 * l ], [(2 / 3 * h + r) * k, (h + r) * k]);
  l45 = line([8 * r + 3 * l,8 * r + 4 * l ], [(2 / 3 * h + r) * k, (h / 3 + r) * k]);
  l46 = line([8 * r + 3 * l, 8 * r + 4 * l], [(-2 / 3 * h + r) * k, (-2 / 3 * h + r) * k]);
  l47 = line([8 * r + 3 * l,8 * r + 4 * l ], [(-4 / 3 * h + r) * k, (-h + r) * k]);
  l48 = line([8 * r + 3 * l,8 * r + 4 * l ], [(-4 / 3 * h + r) * k, (-5 / 3 * h + r) * k]);
  l49 = line([8 * r + 3 * l, 8 * r + 4 * l], [(-8 / 3 * h + r) * k, (-8 / 3 * h + r) * k]);
%[B]решение задачи-ok, эта ветка должна выделяться[/B]
 if (NEC < NEB)    
     two = NEB;
  else
    two = NEC;
  end
  if (NEE < NED)
    three = NED;
  else
    three = NEE;
  end
  if (NEG < NEF)
    four = NEF;
  else
    four = NEG;
  end
  if (four < NEA)
    one = NEA;
  else
    one = four;
  end
  if (four < NEA)
    if (three < two)
      if (NEC < NEB)
        if (Pnvr < Pvr)
          maks = summa1;
         % pos = 'B1';
          ok = [p1 l11 p l21 p2 l31  l41];
        else
          maks = 0.0e0;
         % pos = 'B2';
          ok = [p1 l11  l21 p2 l31  l42 ];
        end
      else
        maks = summa2;
       % pos = 'C';
        ok = [p1 l11 p l21 p2 l32  l43 ];
      end
    else
      if (NEE < NED)
        if (Pnvnr < Pvnr)
          maks = summa1;
          %pos = 'D1';
          ok = [p1 l11 p l22 p3 l33  l44 ];
        else
          maks = 0.0e0;
          %pos = 'D2';
          ok = [p1 l11  l22 p3 l33  l45 ];
        end
      else
        maks = summa2;
       % pos = 'E';
        ok = [p1 l11  l22 p3 l34  l46 ];
      end
      end
  else
    if (NEG < NEF)
      if (proc3 < proc4)
        maks = summa1;
        %pos = 'F1';
        ok = [p1 l12 p4 l35  l47 ];
      else
        maks = 0.0e0;
        %pos = 'F2';
        ok = [p1 l12 p4 l35  l48 ];
      end
    else
      maks = summa2;
      %pos = 'G';
      ok = [p1 l12 p4 l36  l49 ];
    end
  end
 
  %all = [p1 p2 p3 p4 pA pB pC pD pE pF pG l11 l12 l21 l22 l31 l32 l33 l34 l35 l36 l41 l42 l43 l44 l45 l46 l47 l48 l49];
 %ot1 = [t1  t2  t11 t21 t31];
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
24.11.2012, 10:13
Можно вначале нарисовать все дерево, а затем на томже рисунке вывести решение другим цветом (решение, как я понимаю это путь, ломаная линия от начала до одной из веточек)
Мне только не понятно, как из решения (этих pdv,EB, EC,ED и т.д) соорудить веточку из линий?
Правда детальней смогу глянуть только в понедельник
0
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
24.11.2012, 16:25  [ТС]
А как наложить на исходном рисунке решение другим цветом, с помощью какой функции, обычный plot не подходит
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
24.11.2012, 21:57
Цитата Сообщение от Helene Посмотреть сообщение
обычный plot не подходит
Почему не подходит? Просто перед plot нужно написать hold on
Matlab M
1
2
hold on
plot(x,y)
тогда новый рисунок не затрет старый!
0
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
24.11.2012, 23:55  [ТС]
выползает сообщение об ошибке, поэтому plot не подошел. Я сделала вот так set(ok,'color','r');получилось забавно, это видимо фишка такая у матлаба. Картиночку кошмарную я приложила.
Может есть альтернатива этому.
Миниатюры
не строится дерево  
0
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
25.11.2012, 00:52  [ТС]
Красный пунктир- решение(ветка ok) к которому прилагаются комментарии черного цвета

Добавлено через 26 минут
Все криво, а plot не работает, матлаб выдает ошибку, векторы должны быть одинаковой длины. Добавила в строчку
ok =[p1 l11 pA l21 p2 l31 pB l41] решения не стало, значит set () тоже не выход
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
26.11.2012, 17:16
Вообщем, пол-дня игрался с этим деревом, вот что вышло:

Пока только причесал общее дерево, собрал его в отдельную ф-цию:
Кликните здесь для просмотра всего текста
Matlab M
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
function alltree
l = 25.00;
h = 5.00;
r = 2.00;
k = 5.00;
fz = 7;
%fi = 0:360;
axis([0 160 -60 100])
hold on
 
line([0,0,2*r,2*r,0], [0,2*r,2*r,0,0]);
text(r,r,'\bf1'),
 
line([2*r,l+2*r],[r,(h+r)*k],  'LineStyle','-.');
text(l/2+r,h*k/2,'Проведение аудиторской проверки','FontSize',fz)
line([2*r, 2*l+4*r], [r,(-2*h+r)*k],  'LineStyle','-.');
text(l/2+r,-h,'Отсутствие аудиторской проверки','FontSize',fz)
% p4
line([2*l+4*r,2*l+4*r,6*r+2*l,6*r+2*l,2*l+4*r], [(-2*h+r)*k+r,(-2*h+r)*k-r,(-2*h+r)*k-r,(-2*h+r)*k+r,(-2*h+r)*k+r])
text(5*r+2*l,(-2*h+r)*k, '\bf4')
% l11, l12
line([4*r+l, 2*l+4*r],[(h+r)*k, (2*h+r)*k])
text(9*r+l,2*h*k-3*r,'Выдача займа рекомендована','FontSize',fz)
line([4*r+l, 2*l+4*r],[(h+r)*k, r*k])
text(9*r+l,1*h*k+r,'Выдача займа не рекомендована','FontSize',fz)
% p3
line([2*l+4*r,2*l+4*r,6*r+2*l,6*r+2*l,2*l+4*r], [r*k-r,r*k+r,r*k+r,r*k-r,r*k-r])
text(5*r+2*l,r*k,'\bf3')
% p2
line([2*l+4*r,2*l+4*r,6*r+2*l,6*r+2*l,2*l+4*r],[(2*h+r)*k-r,(2*h+r)*k+r,(2*h+r)*k+r,(2*h+r)*k-r,(2*h+r)*k-r])
text(5*r+2*l, (2*h+r)*k, '\bf2')
% l31 - 136
line([6*r+2*l, 6*r+3*l], [(2*h+r)*k,(8/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l, 8/3*h*k,'Ссуда выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [(2*h+r)*k,(4/3*h+r)*k],'LineStyle','-.');
text(6*r+2.5*l, 2*h*k+2*r,'Ссуда не выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [r*k, (2/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l, 2/3*h*k,'Ссуда выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [r*k, (-2/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l, h*k/8,'Ссуда не выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [(-2*h+r)*k, (-4/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l,-h*k-4*r,'Ссуда выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [(-2*h+r)*k, (-8/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l,-2*h*k+r, 'Ссуда не выдается','FontSize',fz)
% cA-cG
circle(3*r+l,(h+r)*k,r);
text(3*r+l,(h+r)*k, '\bfA')
circle(7*r+3*l, (8/3*h+r)*k, r);
text(7*r+3*l,(8/3*h+r)*k,'\bfB')
circle(7*r+3*l, (4/3*h+r)*k, r);
text(7*r+3*l,(4/3*h+r)*k,'\bfC')
circle(7*r+3*l, (2/3*h+r)*k, r);
text(7*r+3*l,(2/3*h+r)*k, '\bfD')
circle(7*r+3*l, (-2/3*h+r)*k, r);
text(7*r+3*l,(-2/3*h+r)*k, '\bfE')
circle(7*r+3*l, (-4/3*h+r)*k, r);
text(7*r+3*l,(-4/3*h+r)*k, '\bfF')
circle(7*r+3*l, (-8/3*h+r)*k, r);
text(7*r+3*l,(-8/3*h+r)*k, '\bfG')
% l141 - l149
line([8*r+3*l, 8*r+4*l], [(8/3*h+r)*k, (3*h+r)*k]);
text(9*r+4*l,(3*h+r)*k, 'Возвращены при годовом % ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(8/3*h+r)*k, (7/3*h+r)*k]);
text(9*r+4*l,(7/3*h+r)*k,'Не возвращены','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(4/3*h+r)*k, (4/3*h+r)*k]);
text(9*r+4*l,(4/3*h+r)*k,'Возвращены при вложении %','FontSize',fz);
line([8*r+3*l, 8*r+4*l], [(2/3*h+r)*k, (h+r)*k]);
text(9*r+4*l,(h+r)*k, 'Возвращены при годовом %','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(2/3*h+r)*k, (h/3+r)*k]);
text(9*r+4*l,(h/3+r)*k,'Не возвращены ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-2/3*h+r)*k, (-2/3*h+r)*k]);
text(9*r+4*l,(-2/3*h+r)*k,'Возвращены при вложении % ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-4/3*h+r)*k, (-h+r)*k]);
text(9*r+4*l,(-h+r)*k,'Возвращены при годовом %','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-4/3*h+r)*k, (-5/3*h+r)*k]);
text(9*r+4*l,(-5/3*h+r)*k,'Не возвращены ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-8/3*h+r)*k, (-8/3*h+r)*k]);
text(9*r+4*l,(-8/3*h+r)*k, 'Возвращены при вложении % ','FontSize',fz)
end
 
function [x, y] = circle(x0, y0, r)
% Ф-ция рисования окружности
% x0, y0 - координаты центра
% r - радиус
fi = 0:360;
% параметрический расчет точек
x = x0 + r*cosd(fi);
y = y0 + r*sind(fi);
% рисуем график в томже окне
hold on
plot(x,y)
end
Завтра попробую разобраться с решением
1
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
26.11.2012, 20:16  [ТС]
А в виде графа если его строить? только как решение на него нанести тогда, непонятно. Мне это дерево надо запихать потом в GUI, а простой плот и дерево не будут скорее всего работать
0
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
27.11.2012, 00:50  [ТС]
Мне вот в такой интерфейс надо дерево пихнуть. Там правда на кнопке "Построить дерево" пока самого кода построения дерева нету.
Миниатюры
не строится дерево  
Вложения
Тип файла: rar KreditnoeDerevo.rar (9.7 Кб, 5 просмотров)
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
27.11.2012, 17:19
Вообщем дело понемногу продвигается
Набросал GUI формочку - она уже отображает дерево, что-то считает, правда рекомендации все-время одни и те же...

Уже придумал, как построить линию решения, правда текст результатов выводится не очень красиво, нельзя сделать перенос на новую строку...
Вложения
Тип файла: zip kredittree.zip (8.1 Кб, 11 просмотров)
0
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
27.11.2012, 18:48  [ТС]
Все четко с рекомендациями и дерево очень красивенькое, а решение станет кусочком графа или другое ?
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
27.11.2012, 19:00
Я его вижу как ломанную линию другого цвета вдоль графа попробую завтра добить.
0
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
27.11.2012, 19:29  [ТС]
если завтра что-то не получится или криво что-то будет, набросок мыслей показать, а то в этот четверг мне препода просветить надо этим деревом и я в глубокой печали
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
27.11.2012, 20:02
Запусти мое GUI и, перед тем как нажимать какие-либо кнопки, прочти, что написано в поле "Результат"
0
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
27.11.2012, 21:11  [ТС]
Это первое, что я сделала я послания так и оставила, спасибки
0
 Аватар для Зосима
5246 / 3574 / 379
Регистрация: 02.04.2012
Сообщений: 6,477
Записей в блоге: 18
28.11.2012, 14:18
Так-с, приделал отображение результатов.
Для проверки использовал программку:
Matlab M
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
function alltree
clear, clc
l = 25.00;
h = 5.00;
r = 2.00;
k = 5.00;
fz = 7;
%fi = 0:360;
axis([0 160 -60 100])
axis on
hold on
 
line([0,0,2*r,2*r,0], [0,2*r,2*r,0,0]);
text(r,r,'\bf1'),
 
line([2*r,l+2*r],[r,(h+r)*k],  'LineStyle','-.');
text(l/2+r,h*k/2,'Проведение аудиторской проверки','FontSize',fz)
line([2*r, 2*l+4*r], [r,(-2*h+r)*k],  'LineStyle','-.');
text(l/2+r,-h,'Отсутствие аудиторской проверки','FontSize',fz)
% p4
line([2*l+4*r,2*l+4*r,6*r+2*l,6*r+2*l,2*l+4*r], [(-2*h+r)*k+r,(-2*h+r)*k-r,(-2*h+r)*k-r,(-2*h+r)*k+r,(-2*h+r)*k+r])
text(5*r+2*l,(-2*h+r)*k, '\bf4')
% l11, l12
line([4*r+l, 2*l+4*r],[(h+r)*k, (2*h+r)*k])
text(9*r+l,2*h*k-3*r,'Выдача займа рекомендована','FontSize',fz)
line([4*r+l, 2*l+4*r],[(h+r)*k, r*k])
text(9*r+l,1*h*k+r,'Выдача займа не рекомендована','FontSize',fz)
% p3
line([2*l+4*r,2*l+4*r,6*r+2*l,6*r+2*l,2*l+4*r], [r*k-r,r*k+r,r*k+r,r*k-r,r*k-r])
text(5*r+2*l,r*k,'\bf3')
% p2
line([2*l+4*r,2*l+4*r,6*r+2*l,6*r+2*l,2*l+4*r],[(2*h+r)*k-r,(2*h+r)*k+r,(2*h+r)*k+r,(2*h+r)*k-r,(2*h+r)*k-r])
text(5*r+2*l, (2*h+r)*k, '\bf2')
% l31 - 136
line([6*r+2*l, 6*r+3*l], [(2*h+r)*k,(8/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l, 8/3*h*k,'Ссуда выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [(2*h+r)*k,(4/3*h+r)*k],'LineStyle','-.');
text(6*r+2.5*l, 2*h*k+2*r,'Ссуда не выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [r*k, (2/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l, 2/3*h*k,'Ссуда выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [r*k, (-2/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l, h*k/8,'Ссуда не выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [(-2*h+r)*k, (-4/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l,-h*k-4*r,'Ссуда выдается','FontSize',fz)
line([6*r+2*l, 6*r+3*l], [(-2*h+r)*k, (-8/3*h+r)*k], 'LineStyle','-.');
text(6*r+2.5*l,-2*h*k+r, 'Ссуда не выдается','FontSize',fz)
% cA-cG
circle(3*r+l,(h+r)*k,r);
text(3*r+l,(h+r)*k, '\bfA')
circle(7*r+3*l, (8/3*h+r)*k, r);
text(7*r+3*l,(8/3*h+r)*k,'\bfB')
circle(7*r+3*l, (4/3*h+r)*k, r);
text(7*r+3*l,(4/3*h+r)*k,'\bfC')
circle(7*r+3*l, (2/3*h+r)*k, r);
text(7*r+3*l,(2/3*h+r)*k, '\bfD')
circle(7*r+3*l, (-2/3*h+r)*k, r);
text(7*r+3*l,(-2/3*h+r)*k, '\bfE')
circle(7*r+3*l, (-4/3*h+r)*k, r);
text(7*r+3*l,(-4/3*h+r)*k, '\bfF')
circle(7*r+3*l, (-8/3*h+r)*k, r);
text(7*r+3*l,(-8/3*h+r)*k, '\bfG')
% l141 - l149
line([8*r+3*l, 8*r+4*l], [(8/3*h+r)*k, (3*h+r)*k]);
text(9*r+4*l,(3*h+r)*k, 'Возвращены при годовом % ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(8/3*h+r)*k, (7/3*h+r)*k]);
text(9*r+4*l,(7/3*h+r)*k,'Не возвращены','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(4/3*h+r)*k, (4/3*h+r)*k]);
text(9*r+4*l,(4/3*h+r)*k,'Возвращены при вложении %','FontSize',fz);
line([8*r+3*l, 8*r+4*l], [(2/3*h+r)*k, (h+r)*k]);
text(9*r+4*l,(h+r)*k, 'Возвращены при годовом %','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(2/3*h+r)*k, (h/3+r)*k]);
text(9*r+4*l,(h/3+r)*k,'Не возвращены ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-2/3*h+r)*k, (-2/3*h+r)*k]);
text(9*r+4*l,(-2/3*h+r)*k,'Возвращены при вложении % ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-4/3*h+r)*k, (-h+r)*k]);
text(9*r+4*l,(-h+r)*k,'Возвращены при годовом %','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-4/3*h+r)*k, (-5/3*h+r)*k]);
text(9*r+4*l,(-5/3*h+r)*k,'Не возвращены ','FontSize',fz)
line([8*r+3*l, 8*r+4*l], [(-8/3*h+r)*k, (-8/3*h+r)*k]);
text(9*r+4*l,(-8/3*h+r)*k, 'Возвращены при вложении % ','FontSize',fz)
 
% точки узлов графа
P = [2*r, r+1; %1
2.5*r+l, (h+r)*k; %A
4.7*r+2*l, (2*h+r)*k; %2
4.7*r+2*l, r*k; %3
4.7*r+2*l, (-2*h+r)*k; %4
7*r+3*l, (8/3*h+r)*k; %B
7*r+3*l, (4/3*h+r)*k; %C
7*r+3*l, (2/3*h+r)*k; %D
7*r+3*l, (-2/3*h+r)*k; %E
7*r+3*l, (-4/3*h+r)*k; %F
7*r+3*l, (-8/3*h+r)*k; %G
8*r+4*l, (3*h+r)*k; % B1
8*r+4*l, (7/3*h+r)*k; %B2
8*r+4*l, (4/3*h+r)*k; %C1
8*r+4*l, (h+r)*k; %D1
8*r+4*l, (h/3+r)*k; %D2
8*r+4*l, (-2/3*h+r)*k; %E1
8*r+4*l, (-h+r)*k; %F1
8*r+4*l, (-5/3*h+r)*k; %F2
8*r+4*l, (-8/3*h+r)*k]; %G1
 
pos1 = [1 2 3 6 12];
pos2 = [1 2 3 6 13];
pos3 = [1 2 3 7 14];
pos4 = [1 2 4 8 15];
pos5 = [1 2 4 8 16];
pos6 = [1 2 4 9 17];
pos7 = [1 5 10 18];
pos8 = [1 5 10 19];
pos9 = [1 5 11 20];
 
plot_ok(P, pos5)
 
end
 
 
function plot_ok(P,pos)
% отображение резуьтата
ok_x = P(pos, 1);
ok_y = P(pos, 2)-1;
plot(ok_x, ok_y, '--r','LineWidth',2,'EraseMode','xor')
end
 
 
function [x, y] = circle(x0, y0, r)
% Ф-ция рисования окружности
% x0, y0 - координаты центра
% r - радиус
fi = 0:360;
% параметрический расчет точек
x = x0 + r*cosd(fi);
y = y0 + r*sind(fi);
% рисуем график в томже окне
hold on
plot(x,y)
end
Вот как это выглядит для пятого варианта пути:



Здесь P - это матрица узлов графа. Первый столбец - это X, второй - Y.
А массивы pos - номера улов для конкретного пути.
Можешь поиграться, повводить в plot_ok(P, pos5) разные пути (pos1, pos2,..., pos9).

И засунул все это в GUI-шку
Кроме ф-ции прорисовки результата plot_ok(P, pos) добавил ф-цию округления okr(a,n), которая округляет число a до n знаков после запятой (а то в результатах значения типа "300.01021руб").
Единственное, проверь внимательно сами расчеты и определение результатов, т.к. при любых введенных значениях меняются цифры, но строится первый путь
Там вроде введенные переменные proc1 и proc2 вообще не используются... но я в этих финансовых делах не разбираюсь
Вложения
Тип файла: zip kredittree.zip (8.4 Кб, 8 просмотров)
1
1 / 1 / 0
Регистрация: 21.04.2010
Сообщений: 32
28.11.2012, 18:28  [ТС]
Спасибо огромное!!!!!!!!
С веточками я разберусь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2012, 18:28
Помогаю со студенческими работами здесь

Как залезть в расчетное дерево (дерево зависимостей формул)?
Есть собственная формула, параметры которой заставляют для ее расчетов лезть на другие листы и в другие ячейки (причем какие конкретно...

Не строится
К стати, что у меня не строится? Решение? Я не вижу конкретного обьявления строк, ошибок. Вот конец вывода построения ...

Не строится 3-D
Не строится 3-D

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

График не строится
нужно очень срочно график построить...и проверить его работоспособность на др функциях f(x)!! подкорректируйте пожалуйста. ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru