Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Console application C# / 6 сообщений из 6, страница 1 из 1
21.04.2015, 14:49
    #38941630
Sergevich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Console application C#
Всем привет, нужна ваша помощь, мне по заданию надо построить прототип сети (по координатам), узлы, которые соединены ветками, и надо раскрасить ветви в другой цвет, узлы которых имеют по одной или две ветви
вот код построенной сети собственной (препод сказал, что не важно как вы создадите топологию, главное то, как будет происходить перекрашивание нужных ветвей)
Код: c#
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.
for (int num_i = 0; num_i < 9; num_i++)
                        {
                            switch (num_i % 3)
                            {
                                case 0:
                                    new_v.number = num_i;
                                    new_v.color = ConsoleColor.Black;
                                    new_v.x_coord = num_i * 10;
                                    new_v.y_coord = 0;
                                    break;
                                case 1:
                                    new_v.number = num_i;
                                    new_v.color = ConsoleColor.Black;
                                    new_v.x_coord = 100 - (num_i * 10);
                                    new_v.y_coord = 30;
                                    break;
                                case 2:
                                    new_v.number = num_i;
                                    new_v.color = ConsoleColor.Black;
                                    new_v.x_coord = (num_i * 10) - 20;
                                    new_v.y_coord = 60;
                                    break;
                            }
                            netw.arr_vertexes[num_i] = new_v;
                        }
                        
                            // edges are concatenated the vertexes by diagonal
                            // (ветви соединяют соответствующие узлы по диагонали: (0->1), (1->2), (2->3),... (9->10))
                            s_network.SimpleEdge new_ed = new s_network.SimpleEdge();
                            for (int num_i = 0; num_i < 10; num_i++)
                            {
                                if (num_i == 0 || num_i == 1 || num_i == 2 || num_i == 3 || num_i == 4 || num_i == 5 || num_i == 6 || num_i == 7)
                                {
                                    new_ed.begin_SimpleVertex = netw.arr_vertexes[num_i];
                                    new_ed.end_SimpleVertex = netw.arr_vertexes[num_i + 1];
                                    new_ed.color = ConsoleColor.Cyan;
                                    netw.arr_edges.Add(new_ed);
                                }
                                else
                                {
                                    switch (num_i)
                                    {
                                        case 8:
                                            new_ed.begin_SimpleVertex = netw.arr_vertexes[num_i];
                                            new_ed.end_SimpleVertex = netw.arr_vertexes[num_i - 5];
                                            new_ed.color = ConsoleColor.Cyan;
                                            netw.arr_edges.Add(new_ed);
                                            break;
                                        case 9:
                                            new_ed.begin_SimpleVertex = netw.arr_vertexes[num_i - 3];
                                            new_ed.end_SimpleVertex = netw.arr_vertexes[num_i - 5];
                                            new_ed.color = ConsoleColor.Cyan;
                                            netw.arr_edges.Add(new_ed);
                                            break;
                                    }
                                }
                        }
                        
                        // output data
                        string str3 = "Vertex'es data:";
                        Console.WriteLine(str3);
                        for (int num_i = 0; num_i < 9; num_i++)
                        { // output all vertex data
                            str3 = "number = " + netw.arr_vertexes[num_i].number.ToString() +
                              ", Color = " + netw.arr_vertexes[num_i].color.ToString() +
                              ", x = " + netw.arr_vertexes[num_i].x_coord.ToString() +
                              ", y = " + netw.arr_vertexes[num_i].y_coord.ToString();
                            Console.WriteLine(str3);
                        }
                        str3 = "Edge's data:";
                        Console.WriteLine(str3);
                        for (int num_i = 0; num_i < 10; num_i++)
                        { // output all edges data
                          str3 = "index " + num_i.ToString() + ": begin_Vertex = {number = " +
                            netw.arr_edges[num_i].begin_SimpleVertex.number.ToString() +
                            ", color = " + netw.arr_edges[num_i].begin_SimpleVertex.color.ToString() +
                            "},\n         end_Vertex = {number = " + netw.arr_edges[num_i].end_SimpleVertex.number.ToString() +
                            ", color = " + netw.arr_edges[num_i].end_SimpleVertex.color.ToString() +
                            "}, edge's color = " + netw.arr_edges[num_i].color.ToString();
                          Console.WriteLine(str3);
                        }
                        for (int num_i = 0; num_i < 10; num_i++)
                        {
                            if ()
                            {
                                new_ed.color = ConsoleColor.Green;
                                netw.arr_edges.Add(new_ed);
                            }
    
                        }
                         str3 = "\nEdge's data new:";
                        Console.WriteLine(str3);
                        for (int num_i = 0; num_i < 10; num_i++)
                        { // output all edges data
                          str3 = "index " + num_i.ToString() + ": begin_Vertex = {number = " +
                            netw.arr_edges[num_i].begin_SimpleVertex.number.ToString() +
                            ", color = " + netw.arr_edges[num_i].begin_SimpleVertex.color.ToString() +
                            "},\n         end_Vertex = {number = " + netw.arr_edges[num_i].end_SimpleVertex.number.ToString() +
                            ", color = " + netw.arr_edges[num_i].end_SimpleVertex.color.ToString() +
                            "}, edge's color = " + netw.arr_edges[num_i].color.ToString();
                          Console.WriteLine(str3);
                        }


топология на рисунке

Модератор: Тема перенесена из форума "Программирование".
...
Рейтинг: 0 / 0
21.04.2015, 16:11
    #38941745
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Console application C#
Класс. Раскрашивай.
...
Рейтинг: 0 / 0
21.04.2015, 16:24
    #38941759
Belavik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Console application C#
Посмотрел. Что-то веко задергалось.
...
Рейтинг: 0 / 0
21.04.2015, 17:09
    #38941810
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Console application C#
BelavikПосмотрел. Что-то веко задергалось.

По традиции это все нужно впихнуть в button1_click. Даже в консоли!
...
Рейтинг: 0 / 0
21.04.2015, 21:40
    #38942030
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Console application C#
код уровня GWBasic, но даже там можно было вызывать процедуры и пользоваться GoTo на худой конец.
...
Рейтинг: 0 / 0
22.04.2015, 10:31
    #38942236
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Console application C#
а вы знакомы с теорией графов?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Console application C# / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]