Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 29.05.2015
Сообщений: 44

Поиск слова в словаре

22.06.2015, 01:48. Показов 1893. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поиск слова в словаре. Все слова словаря хранятся в массиве. В отдельном текстовом поле вывести найденное слово и наиболее близкие к нему варианты (однокоренное, начинающееся на ту же последовательность букв). В другое текстовое поле вывести все слова словаря. Предусмотреть поле для ввода отыскиваемого слова.
Миниатюры
Поиск слова в словаре  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.06.2015, 01:48
Ответы с готовыми решениями:

Поиск нужного слова в словаре, в котором слова расположены в лексикографическом порядке
Напишите задачу поиска нужного слова в словаре, в котором слова расположены в лексикографическом порядке(бинарный поиск). решить надо...

Поиск слова в словаре
У меня есть большой текст и словарь на ~100 000 слов. Нужно найти в этом тексте все слова с помощью словаря и посчитать их встречаемость. ...

Не работает бинарный поиск слова в словаре
Вторую неделю пытаюсь поймать ошибку в программке на С. Моя реализация бинарного поиска в словаре. Не могу понять что я упускаю - вроде все...

12
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
22.06.2015, 06:18
однокоренное, однако, будет найти сложновато: нужно будет выделить корень из введённого слова. А это не всегда просто сделать программно.
Судя по скрину что-то уже сделано.
Выкладывай проект с наработками, задавай конретные вопросы - поможем разобраться с остальным.

Добавлено через 2 минуты
Ну а в помощь строковый функции Left, Mid
Основные функции
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
22.06.2015, 07:55
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Цитата Сообщение от Alex77755 Посмотреть сообщение
нужно будет выделить корень из введённого слова
Если очень грубо принять что корень - это, допустим, 4 подряд идущие буквы в слове, то можно сделать так:
Visual Basic
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
Option Explicit
Option Compare Text
Dim Arr
Const MinLen As Integer = 4
Private Sub Command1_Click()
    Dim i As Long, j As Integer, s As String, st As String, n As Long
    Text2.Text = ""
    For j = 1 To Len(Trim(Text3.Text)) - MinLen + 1
        st = Mid(Trim(Text3.Text), j, MinLen)
        For i = 0 To UBound(Arr)
            If Arr(i) Like "*" & st & "*" Then
                  s = s & Arr(i) & vbCrLf
                  n = n + 1
            End If
        Next i
    Next j
    Text2.Text = s
    MsgBox IIf(n = 0, "Поиск не дал результатов.", "Найдено " & n & " слов")
End Sub
 
Private Sub Form_Load()
    Dim ff As Integer, st As String
    ff = FreeFile
    Open App.Path & "\Dictionary.txt" For Input As #ff
        st = Input(LOF(ff), ff)
    Close #ff
    Text1.Text = st
    Arr = Split(st, vbCrLf) '14832
End Sub
Миниатюры
Поиск слова в словаре  
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
22.06.2015, 09:08
В том-то и дело, что грубо:
словечечко - Кисловодск - ловелас - овечка - соловей - тяжеловес - пуловер - монголовед - печечка - свечечка темечко - утречко........
И ещё сотни 2 окажутся однокоренными
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
22.06.2015, 09:35
Цитата Сообщение от Alex77755 Посмотреть сообщение
И ещё сотни 2 окажутся однокоренными
Const MinLen As Integer = 5 (6, 7 ....и т.д.)

А что делать? Разбор слова на приставки-корни-суффиксы-окончания?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
22.06.2015, 11:06
Даже не знаю
пролесок корень лес?
А по этому сочетанию найдётся 189 слов от блеска до электропылесоса
Кликните здесь для просмотра всего текста
автолесовоз
автомобилестроение
автослесарь
агролесомелиоратор
агролесомелиорация
анофелес
безлесье
блеск
блесна
блестка
блесточка
блестянка
бурлеск
ветроколесо
взблеск
взблескивание
всплеск
всплескивание
выплеск
выплескивание
геркулес
деталесмена
дирижаблестроение
доблесть
залесье
землесос
зенит-телескоп
картофелесажалка
картофелесортировка
клест
коалесценция
колесико
колесник
колесник
колесница
колесо
колесование
коноплесноповязалка
кораблестроение
кораблестроитель
кораблестроительство
лес
лес
леса
лесбиянка
лесенка
лесина
лесишко
лесище
леска
лесник
лесничество
лесничий
лесоведение
лесовик
лесовод
лесоводство
лесовоз
лесовозобновление
лесогон
лесозавод
лесозаготовки
лесок
лесокомбинат
лесокультура
лесоматериал
лесомелиоратор
лесомелиорация
лесонасаждение
лесоохранение
лесопарк
лесопиление
лесопилка
лесопильня
лесопитомник
лесоповал
лесополоса
лесопосадка
лесопромышленник
лесопункт
лесоразведение
лесоразработки
лесорасчистка
лесоруб
лесосад
лесосека
лесосплав
лесоспуск
лесостепь
лесотаска
лесоторговец
лесоторговля
лесотундра
лесоукладчик
лесоустройство
лесоучасток
лесохимик
лесохимия
лесочек
лесоэксплуатация
лесоэкспорт
леспромхоз
лесс
лессировка
лестница
лестничка
лестовка
лесть
лесхоз
лесхозовец
малолесье
мелколесье
многолесье
молескин
нахлестка
нецелесообразность
обезлесение
облесение
околесина
околесица
околесная
опалесценция
отблеск
отплеск
палестина
палестины
палестра
пелесина
перелеска
перелесок
перелесье
плес
плесень
плеск
плескание
плесневица
плессиметр
подлесник
подлесок
подлесье
подхлестка
полесовщик
полесье
послесвечение
послесловие
прелестница
прелесть
проблеск
пролесок
пылесос
радиотелескоп
разнолесье
редколесье
рекалесценция
реконвалесценция
росплеск
рукоплескания
слесарня
слесарство
слесарь
слесарь-инструментальщик
слесарь-сантехник
слесарь-сборщик
солесодержание
солесос
солестойкость
старолесье
талес
телеса
телесигнализация
телескоп
телескопия
телеспектакль
телестанция
телестереоскоп
телестих
телестудия
тоннелестроение
тулес
туннелестроение
углесос
хлестаковщина
холестерин
целесообразность
целестин
челеста
чернолесье
шелест
электропылесос


Добавлено через 11 минут
А если из пролеска брать 5 букв, то и пролетариат, и пролежень, и колесо, и солесос

Добавлено через 2 минуты
Так что с однокоренными проблема.
Вот начинающися на ту же послодовательность букв ближе к истине
0
1 / 1 / 1
Регистрация: 29.05.2015
Сообщений: 44
22.06.2015, 11:46  [ТС]
По такому коду,когда вводишь слово,выводит не однокоренное, а это же слово
VB.NET
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
Public Class Form1
    Dim A(21) As String, s As String, n As Long
    Const MinLen As Integer = 4
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim I As Integer, j As Integer, st As String
        TextBox1.Focus()
        s = TextBox1.Text
        For I = 1 To n
            A(1) = "арбуз"
            A(2) = "морковь"
            A(3) = "машина"
            A(4) = "город"
            A(5) = "звезда"
            A(6) = "кино"
            A(7) = "луна"
            A(8) = "зебра"
            A(9) = "лимон"
            A(10) = "круг"
            RichTextBox1.Text = RichTextBox1.Text + A(I) + vbCrLf
        Next I
        For I = 1 To n
            If (A(I) = s) Then
                RichTextBox2.Text = s
            End If
        Next
 
        For j = 1 To Len(Trim(RichTextBox1.Text)) - MinLen + 1
            st = Mid(Trim(RichTextBox1.Text), j, MinLen)
            For I = 0 To UBound(A)
                If A(I) Like "*" & st & "*" Then
                    s = s & A(I) & vbCrLf
                    n = n + 1
                End If
            Next I
        Next j
        RichTextBox2.Text = s
        MsgBox(If(n = 0, "Поиск не дал результатов.", "Найдено " & n & " слов"))
    End Sub
 
        
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        TextBox1.Clear()
        RichTextBox1.Clear()
        RichTextBox2.Clear()
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Close()
    End Sub
End Class
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38162 / 21097 / 4306
Регистрация: 12.02.2012
Сообщений: 34,685
Записей в блоге: 14
22.06.2015, 12:15
Цитата Сообщение от Николайка Посмотреть сообщение
наиболее близкие к нему варианты
- можно искать минимизацией расстояния Левенштейна
0
1 / 1 / 1
Регистрация: 29.05.2015
Сообщений: 44
22.06.2015, 13:08  [ТС]
это как?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
22.06.2015, 13:44
Николайка, не в тот раздел постишь
Если ваш бэйсик выдает конструкции типа Imports System, sender As Object, Public Class Form1, то вам СЮДА!

Добавлено через 3 минуты
Зачем этот цикл?
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
        For I = 1 To n
            A(1) = "арбуз"
            A(2) = "морковь"
            A(3) = "машина"
            A(4) = "город"
            A(5) = "звезда"
            A(6) = "кино"
            A(7) = "луна"
            A(8) = "зебра"
            A(9) = "лимон"
            A(10) = "круг"
            RichTextBox1.Text = RichTextBox1.Text + A(I) + vbCrLf
        Next I
тем более n ещё не назначена и цикл выполняться не будет
0
1 / 1 / 1
Регистрация: 29.05.2015
Сообщений: 44
22.06.2015, 13:55  [ТС]
Так как в задании сказано, что слова хранятся в массиве
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
22.06.2015, 15:00
n ещё не назначена и цикл выполняться не будет
Да и при таком назначении цикл не нужен!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38162 / 21097 / 4306
Регистрация: 12.02.2012
Сообщений: 34,685
Записей в блоге: 14
22.06.2015, 15:26
Цитата Сообщение от Николайка Посмотреть сообщение
это как?
- это так. А вот еще хорошая статья
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2015, 15:26
Помогаю со студенческими работами здесь

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

Рандомные слова в словаре
Добрый день. И с праздником дорогие женщины! Так, опишу проблему: Есть у меня словарь Dictionary в котором находятся англ слова и рус....

Подчеркнуть слова не содержащиеся в словаре
Извините что не написал хоть строчки кода, но очень плохо разобрался с типом string Входные данные должны быть такие В первой строке...

Найти слова , которых нет в словаре
Всем доброго времени суток, помогите решить следующую задачу: Дан текст и словарь, найти слова, которых нет в словаре.

Поиск по значению в словаре
Доброго времени суток. Нужна структура, представляющая коллекцию ключ - значение, в которой наиболее быстро идет поиск по значению. Пока...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru