Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 17.04.2015
Сообщений: 5
1

Перевод из C# в С++

17.04.2015, 22:22. Показов 1132. Ответов 2
Метки нет (Все метки)

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Graph
{
    class Program
    {
        public struct Result
        {
            public int Max;
            public string Path;
        }
        static void Main(string[] args)
        {
                    
            const int n = 5;            
            bool[] visited = new bool[n];            
            int[,] graph =
            {
              { 0, 23, 0, 0, 0 },
              { 23, 0, 12, 3, 0 },
              { 0, 12, 0, 0, 0 },
              { 0, 3, 0, 0, 60 },
              { 0, 0, 0, 60, 0 }
            };
 
            print_graph(graph, n);//печать графа
            Result Rez= MaxPath(graph, 0, 5,visited);
            Console.Write("Rez= {0}  Path= {1}", Rez.Max,Rez.Path);//выводим результат
            Console.ReadLine();
        }
        static void print_graph(int[,] graph,int n) 
        {
            for (int i = 0; i < n; i++)
            {
                Console.Write("({0})== ",i+1);
                for (int j = 0; j < n; j++)
                    Console.Write(" [{0}] ", graph[i, j]);
                Console.WriteLine();
            }
        }
        //static int cnt = 0;
        static Result MaxPath(int[,] graph, int node /*текущий узел*/, int n/*РєРѕР»-РІРѕ узлов*/, bool[] visited/*посещённые узлы*/, int ves_to_node = 0/*вес дотекущего узла РѕС‚ предыдущего узла СЃ которого Рє нему пришли*/)
        {
            //int max_path = 0,path=0;
            Result Rez,path; 
            //path - промежуточные пути
            Rez.Max = path.Max = 0; Rez.Path = path.Path = ""; 
            //cnt++;
            visited[node] = true;
            //Rez.Console.WriteLine("cnt= "+cnt.ToString()+"node="+(node+1).ToString());
            //Console.ReadLine();
            for (int i = 0; i < n; i++)
            {
                if ((graph[node,i] != 0) && !visited[i] && node != i) 
                {
                    path=MaxPath(graph, i, n, visited, graph[node, i]);// рекурсия 
                    if (Rez.Max<path.Max) {Rez = path;}                }
                
            }
            //Console.WriteLine("!!!cnt= " + cnt.ToString() + "node=" + (node+1).ToString());
            //cnt--;
            
            Rez.Max += ves_to_node;
            Rez.Path = "-->(" + (node + 1).ToString() + ")" + Rez.Path;
            return Rez;
            //max_path + ves_to_node;
        }
    }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2015, 22:22
Ответы с готовыми решениями:

Перевод кода с Паскаля (перевод в метры)
var a,b,d:integer; c,e:real; begin writeln('1-дециметр 2-километр'); writeln('3-метр ...

Заменить в строке все пробелы на перевод строки, а перевод строки изменить на два перевода
Меня интересует следующий вопрос: как заменить в моем стринге все пробелы на переходы на новую...

Разбиение строки на части, перевод строки в число и перевод числа
Есть задание: 1. Необходимо реализовать консольное приложение, позволяющее манипулировать строкой,...

Перевод с C++ на C#
Нужно перевести следующий код на C#: #include &lt;iostream&gt; #include &lt;cstdio&gt; using namespace std;...

2
2423 / 1825 / 402
Регистрация: 15.12.2013
Сообщений: 8,002
17.04.2015, 22:26 2
vet9690, показывайте наработки.
0
7158 / 6133 / 2801
Регистрация: 14.04.2014
Сообщений: 26,455
18.04.2015, 08:14 3
Лучший ответ Сообщение было отмечено vet9690 как решение

Решение

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
#include <iostream>
#include <cstdlib>
#include <string>
 
 
struct Result
{
    int Max;
    std::string Path;
};
 
void print_graph(int graph[][5], int n)
{
    for (int i = 0; i < n; ++i)
    {
        std::cout << "(" << i + 1 << ")==";
        for (int j = 0; j < n; ++j)
            std::cout << " [" << graph[i][j] << "] ";
        std::cout << std::endl;
    }
}
 
Result MaxPath(int graph[][5], int node, int n, bool visited[], int ves_to_node = 0)
{
    Result Rez, path;
 
    Rez.Max = path.Max = 0;
 
    Rez.Path = path.Path = "";
 
    visited[node] = true;
 
    for (int i = 0; i < n; ++i)
    {
        if ((graph[node][i] != 0) && !visited[i] && node != i)
        {
            path = MaxPath(graph, i, n, visited, graph[node][i]);
            if (Rez.Max < path.Max) Rez = path;
        }
    }
 
    Rez.Max += ves_to_node;
    Rez.Path = "-->(" + std::to_string(node + 1) + ")" + Rez.Path;
    return Rez;
}
 
int main()
{
    const int n = 5;
    bool visited[n] = {false};
    int graph[][5] = {{ 0, 23, 0, 0, 0 }, { 23, 0, 12, 3, 0 }, { 0, 12, 0, 0, 0 }, { 0, 3, 0, 0, 60 }, { 0, 0, 0, 60, 0 }};
 
    print_graph(graph, n);
    Result Rez = MaxPath(graph, 0, 5, visited);
    std::cout << "Rez = " << Rez.Max << "  Path = " << Rez.Path << std::endl;
 
    system("pause");
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2015, 08:14

Перевод в МБ
Я скачиваю файл с интернета и вот тут мне нужно форматнуть строку ввиде 0:00 void...

Перевод СС (2,8,10,16).
Перевод целых неотрицательных чисел в различные системы счисления с основанием 2,8,10,16. Число...

Перевод из C в С++
Здравствуйте, я делал проект в C, но вдруг требования поменялись, и теперь я должен перевести его в...

Перевод из 8 сч в 2 сч
Не могу составит код который переводить из 8 сч в 2 сч. Помогите ... Благодарю за помощь!.

Перевод
Помогите перевести в C++ const n=5; m=5; var b:arrayof integer; ...

Перевод c C++ в C#
Переведите пожалуйста,кому не трудно # include &lt;stdio.h&gt; # include &lt;stdbool.h&gt; bool...


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

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

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