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

Перенести расчет расстояния Левенштейна в Windows Forms

27.11.2019, 18:24. Показов 1185. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
using System;
 
namespace _123
{
    class Program
    {
        static int Minimum(int a, int b, int c) => (a = a < b ? a : b) < c ? a : c;
        static int LevenshteinDistance(string firstWord, string secondWord)
        {
            var n = firstWord.Length + 1;
            var m = secondWord.Length + 1;
            var matrixD = new int[n, m];
 
            const int deletionCost = 1;
            const int insertionCost = 1;
 
            for (var i = 0; i < n; i++)
            {
                matrixD[i, 0] = i;
            }
 
            for (var j = 0; j < m; j++)
            {
                matrixD[0, j] = j;
            }
 
            for (var i = 1; i < n; i++)
            {
                for (var j = 1; j < m; j++)
                {
                    var substitutionCost = firstWord[i - 1] == secondWord[j - 1] ? 0 : 1;
 
                    matrixD[i, j] = Minimum(matrixD[i - 1, j] + deletionCost,          // удаление
                                            matrixD[i, j - 1] + insertionCost,         // вставка
                                            matrixD[i - 1, j - 1] + substitutionCost); // замена
                }
            }
 
            return matrixD[n - 1, m - 1];
        }
        static int LevenshteinDistance(string text1, int len1, string text2, int len2)
        {
            if (len1 == 0)
            {
                return len2;
            }
 
            if (len2 == 0)
            {
                return len1;
            }
 
            var substitutionCost = 0;
            if (text1[len1 - 1] != text2[len2 - 1])
            {
                substitutionCost = 1;
            }
 
            var deletion = LevenshteinDistance(text1, len1 - 1, text2, len2) + 1;
            var insertion = LevenshteinDistance(text1, len1, text2, len2 - 1) + 1;
            var substitution = LevenshteinDistance(text1, len1 - 1, text2, len2 - 1) + substitutionCost;
 
            return Minimum(deletion, insertion, substitution);
        }
 
        static int LevenshteinDistanc(string word1, string word2) =>
                LevenshteinDistance(word1, word1.Length, word2, word2.Length);
        static void Main(string[] args)
        {
            Console.Write("Первое слово: ");
            var s1 = Console.ReadLine();
            Console.Write("Второе слово: ");
            var s2 = Console.ReadLine();
 
            Console.WriteLine("Расстояние Левенштейна: {0}", LevenshteinDistanc(s1, s2));
            Console.ReadLine();
        }
    }
}
Можете помочь перенести консольное приложение на Windows Forms, пожалуйста
Миниатюры
Перенести расчет расстояния Левенштейна в Windows Forms  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2019, 18:24
Ответы с готовыми решениями:

Как перенести программу из консоли в Windows Forms?
Здравствуйте! Я написал простой код в консоли. Теперь хочу оформить эту программу через WinForms....

Расчет заработной платы. Переделать из консольного в Windows Forms
Надо преобразовать консольное приложение в Form Application using System; using...

Ввод чисел, расчет по формулам и построение графика. Windows Forms или WPF
Подскажите пожалуйста какое руководство/книгу для WindowsForm. Только начинаю изучать и толком не...

Windows.Forms - Процедуры, цикл for и System.Windows.Forms.Button
Доброго времени суток. Есть WinForms программа: ... private ClickedButtonId, ClickedButtonX,...

4
547 / 478 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
28.11.2019, 00:20 2
JazzNeurotic, Как Вы думаете много желающих найдется переделать этот код?
Проще и быстрее всего будет, если напишите четкое условие задачи.
0
2723 / 2032 / 376
Регистрация: 22.07.2011
Сообщений: 7,702
28.11.2019, 01:19 3
JazzNeurotic, ну отличий в проекте по формам от консольного тут почти не будет.
только main переписать , вместо console.wrilteLine выводи куданибудь в textbox
0
3477 / 2482 / 1172
Регистрация: 14.08.2016
Сообщений: 8,180
28.11.2019, 01:37 4
sau, если все "так просто" почему бы не самостоятельно?! ах, да, знания нужны...
Цитата Сообщение от sau Посмотреть сообщение
вместо console.wrilteLine выводи куданибудь в textbox
ну так в чем проблема?!
0
2723 / 2032 / 376
Регистрация: 22.07.2011
Сообщений: 7,702
28.11.2019, 03:33 5
Цитата Сообщение от Diamante Посмотреть сообщение
если все "так просто" почему бы не самостоятельно?! ах, да, знания нужны...
создать winforms проект в студии может любой новичок , при желании , а дальше просто копипаст в конструктор текущего кода.
У меня студии сейчас под рукой нет , но по вопросам могу подсказать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2019, 03:33
Помогаю со студенческими работами здесь

Расчет расстояния
Здравствуйте, хотел подключить к сайту (дипломная работа) расчет стоимости перевозки груза по...

Расчет расстояния
Составить программу на языке поскаль, для расчета расстояния

Расчет евклидова расстояния
Добрый день. Разбираю пример с dlib по распознаванию лиц и попутно пытаюсь с питона перевести на...

Расчет гиперфокального расстояния
Добрый день! Вот решил для самообучения написать программу на С# , Но видимо к меня ккая то...

Расчет расстояния до горизонта
Капитан Джек Воробей всегда точно рассчитывает расстояние до горизонта, пользуясь формулой S =...

Расчет расстояния до радиостанций
Очень нужна прога на Pascal для расчета 2-х(3-х) радиостанций и человека в центре №4.


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

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

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