Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Сохранение данных, добавленных в массив Добрый вечер у меня появился вопрос. я зделал чтото вроди бота которого можно обучать но при закрытии консоли добавленые данные в масив не сохраняются. https://www.cyberforum.ru/ csharp-beginners/ thread2125478.html C# Override toString с сохранением Custom Numeric Format Strings
Добрый день. Есть обычный класс, в котором я переопределяю метод toString, но хотелось бы сохранить настраиваемый числовой формат. Если конкретней, то это класс дробей. public override string ToString() { if (this.numerator == 0) return "0"; if (this.denominator == 1) return String.Format("{0}", this.numerator); if (this.numerator %...
C# Сортировка ArrayList экземпляров класса https://www.cyberforum.ru/ csharp-beginners/ thread2125443.html
Как создать и заполнить правильно ArrayList экземпляров класса, так чтобы потом можно было отсортировать? Сортировка прописана в классе в виде интерфейса IComparable<T>. ArrayList alis = new ArrayList(amount); // коллекция не типизированная List<MyClass> lis = new List<MyClass>(amount); // коллекция типизированная MyClass arr = new MyClass; //массив List, Array сортируются нормально, а вот...
C# Односвязный список https://www.cyberforum.ru/ csharp-beginners/ thread2125441.html
Привет всем! Необходимо создать класс, позволяющий работать с односвязным списком, должен включать в себя эл-ты: 1, 5, 7, 9, 12, 17, 19, 20, 45, элементы класса - метод добавления нового элемента после n-го по счету элемента. Буду благодарна за помощь, имею аналогичное задание, не могу разобраться в его написании.
Решение задач по массивам C#
Помогите решить эти задачи,значения нужно прописывать через рандом 10. Даны целые числа K, N и массив из N целых чисел. Если в массиве имеются числа, меньшие K, то вывести их количество; в противном случае вывести False. 11. Дан массив из N ненулевых целых чисел, заполненный в диапазоне . Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в массиве ...
C# Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним https://www.cyberforum.ru/ csharp-beginners/ thread2125377.html
Дана матрица B .Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно. У меня код не меняет max и min значения. Помогите исправить) int n, m; try { n = Convert.ToInt32(textBox1.Text); }
C# Обновление консоли 1 раз в секунду https://www.cyberforum.ru/ csharp-beginners/ thread2125361.html
У меня есть задание. То что я спрашиваю это не само задание. Но решение мне сильно поможет. Я уверен что задача простейшая для опытных программистов. Мне нужно создать таймер. Я написал код и он работает. Но мне нужно чтобы значения на консоли менялись каждую секунду. И это должно быть через цикл do...while. Т.е. ничего более эффективного или сильно заумного предлагать не нужно. Просто...
Как создавать матрицы с использованием обобщенных классов? C#
Есть условие: Создать шаблон по которому будут создаваться матрицы, возможно разных типов. В последующем нужно будет создать методы для их сложения и умножения Как правильно всё это написать??? Пробовал с помощью перегрузки, стала ругаться на преобразование типов { class Program { static void Main(string args)
C# Нужно разработать синтаксический анализатор Разработать синтаксический анализатор для понятия «скалярный_тип»: скалярный_тип ::= {имя_константы {, имя_константы}*} | {константа . . константа} имя_константы ::= буква {цифра | буква}* константа ::= цифра {цифра}* цифра ::= 0|1|2|3|4|5|6|7|8|9 буква ::= a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z https://www.cyberforum.ru/ csharp-beginners/ thread2125290.html C# Реализация внешней сортировки https://www.cyberforum.ru/ csharp-beginners/ thread2125289.html
Всем привет. Задали задачу которую не знаю как делать. Вот условие: С текстового файла вводится массив данных произвольного размера. Необходимо выполнить сортировку данного массива методом "внешнее сортировки". Отсортированный массив вывести в текстовый файл. Помогите. Зарание благодарен!
Можно ли записать в аргумент метода, другой метод? C#
Доброго времени суток. Вопрос заключается в том, можно ли в аргументы метода записать метод типа double? Конкретно. У меня есть метод интегрирования в аргументы которого я хотел бы запихнуть функцию, что бы потом использовать интегрирование для разных функций. public double ak1 (double x) { return Math.Atan(Math.Cos(x/2))*Math.Cos(x); } public double...
C# Отмена хода в пятнашках //Program.cs using System; namespace Pyatnyasky { class Program { static void Main(string args) { int score = 0; int a; https://www.cyb
1 / 1 / 0
Регистрация: 24.01.2013
Сообщений: 85
0

Алгоритм Флойда - C# - Ответ 11727619

19.11.2017, 22:20. Показов 4924. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день , помогите разобраться с алгоритмом работает частично , не все пути рассчитывает корректно
пример:
(3,5) -> путь 5-8-4-2-3 // посчитан верно
(3,7)-> путь 3-6-7 //рассчитан верно
а вот (7,5) -> путь 5-8-6-7 // рассчитан не правильно, должно было получиться "5-8-4-2-3-6-7"
подскажите где ошибся не как не могу понять
вот алгоритм
входной граф - mat(изображение исходного графа прикрепил расстояние ="1" если есть связь меж вершинами значит есть путь в обе стороны, матрица квадратная ); mat_p - матрица для восстановления решения
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 int[,] mat =    {{0,1,1,0,0,0,0,0,0,0,0},
                             {1,0,0,0,0,0,0,0,0,0,0},
                             {1,0,0,1,1,0,0,0,0,0,0},
                             {0,0,1,0,0,0,1,0,0,1,0},
                             {0,0,1,0,0,0,0,0,1,0,1},
                             {0,0,0,0,0,0,0,0,1,0,0},
                             {0,0,0,1,0,0,0,1,0,0,0},
                             {0,0,0,0,0,0,1,0,0,0,0},
                             {0,0,0,0,1,1,0,0,0,0,0},
                             {0,0,0,1,0,0,0,0,0,0,0},
                             {0,0,0,0,1,0,0,0,0,0,0}};
 
            int[,] mat_p =  {{0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0},
                             {0,0,0,0,0,0,0,0,0,0,0}};
если значение "0" то значение максимального пути и все диагональные элементы = "0"

C#
1
2
3
4
5
6
7
  for (int i = 0; i < Math.Sqrt(mat_p.Length); i++)
                for (int j = 0; j < Math.Sqrt(mat_p.Length); j++)
                {
                    if (mat[i, j] == 0)
                        mat[i, j] = 10000;
                    if (i == j) mat[i, j] = 0;
                }
подготовка матрицы восстановления пути

C#
1
2
3
4
5
6
7
8
9
10
11
 for(int i =0; i<Math.Sqrt(mat_p.Length);i++)
                for (int j = 0; j < Math.Sqrt(mat_p.Length); j++)
                {
                    if (mat[i, j] == 10000 )
                        mat_p[i, j] = 10000;
                    else
                    {
                        mat_p[i, j] = j;
                        if (i == j) mat_p[i, j] = 0;
                    }
                }
C#
1
2
3
4
5
6
7
            puth(mat, mat_p);
            print_mt(mat);
            print_mt(mat_p);
            int a = 5;
            int b =7;
            
            red_path(a, b, mat_p);
основной метод расчета кратчайшего пути
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void puth(int[,] m, int [,] mp)
        {
            for (int k = 0; k < Math.Sqrt(m.Length); ++k)
            {
                for (int i = 0; i < Math.Sqrt(m.Length); ++i)
                {
                    for (int j = 0; j < Math.Sqrt(m.Length); ++j)
                    {
                        if (m[i, j] > m[i,k]+m[k,j])
                        {
                            m[i, j] = m[i, k] + m[k, j];
                            mp[i, j] = k;
                        }                       
                    }
                }
            }
        }
метод восстановления пути
C#
1
2
3
4
5
6
7
8
9
10
 private void red_path(int a, int b, int [,] m)
        {
            if (a == b) { System.Diagnostics.Debug.WriteLine("-> {0}", b); return; }
            else
            {
                System.Diagnostics.Debug.WriteLine("-> {0}", b);
                red_path(a, m[b, a], m);
                return;
            }
        }
вывод матрицы
C#
1
2
3
4
5
6
7
8
9
10
11
 public void print_mt(int[,] _m)
        {
            double t =Math.Sqrt(_m.Length);
            for (int i = 0; i < Math.Sqrt(_m.Length); i++)
            {
                System.Diagnostics.Debug.WriteLine("");
                for (int j = 0; j < Math.Sqrt(_m.Length); j++)
                    System.Diagnostics.Debug.Write(" " + _m[i, j]);
            }
            System.Diagnostics.Debug.WriteLine("\n**********************************");
        }


Вернуться к обсуждению:
Алгоритм Флойда C#
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2017, 22:20
Готовые ответы и решения:

Алгоритм флойда
Здравствйте у меня есть беда. Есть вот такой код по вычеслению кратчайших путей и запоминание...

Реализовать алгоритм Флойда-Уоршалла
Здравствуйте. Я понимаю, что уже неоднократно разбирался алгоритм Флойда-Уоршалла, но у меня всё...

Правильный ли алгоритм Флойда в следующем примере
///&lt;$50 summary&gt; ///MICROSOFT STUDIO LIVE.com =&gt; Алгоритм Флойда ///&lt;!summary $50&gt; using...

Вывести алгоритм флойда с выводом на печать кратчайших путей
Вообщем нужно на си-шарп вывести алгоритм флойда с выводом на печать кратчайших путей , а матрица...

2
19.11.2017, 22:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2017, 22:20
Помогаю со студенческими работами здесь

Алгоритм флойда для поиска кратчайших путей в графе
алгоритм флойда для поиска кратчайших путей в графе. Вывожу длину путей между вершинами, не могу...

Построение кратчайших путей между всеми парами вершин графа. Алгоритм Флойда
Взялся за свой курсовик. Задача такая: Реализовать алгоритм Флойда для построения кратчайших путей...

Поиск вершины в графе по алгоритму Флойда
Добрый час суток! Есть такая задача : Написать программу в которой будет выполняться алгоритм...

Алгоритм Флойда
Помогите переделать программу вот нашел #include &lt;iostream&gt; const int inf=1E9; using namespace...

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