ПТК

Объявление





Курсовая на носу! Хватит бездельничать. Дело надо делать и работу работать. Последний срок сдачи 28 (вроде бы).

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ПТК » Программирование » Задача по Кодингу и Алгоритмике № 1


Задача по Кодингу и Алгоритмике № 1

Сообщений 1 страница 14 из 14

1

Начнем с простого. Ибо это первое что я придумал.

Существует таблица со строковыми значениями.
Пользователь воодит слово (фразу) для поиска и...
... программа выдает все найденые слова (фразы), а так же (Внимание!) похожие слова (фразы).

Реализовать нужно только сам алгорит поиска.. или код кому как удобнее)

Желательно сделать код максимально коротким, и минимально жрущим бедные и нищие ресурсы компьютера.

Возможно изменение условия с вашей стороно, если будет доказательство его выгодности.

2

Дак а что требуется-то? Алгоритм поиска?
Реализовать уже существующие алгоритмы, типа Бойера-Мура? Решить задачу можно, решение будет не оригинальное.
Придумать свой? В любом случае - это "изобретение велосипеда". Не интересно.

3

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

4

Hydroxide,  ну Слава !

Разбиваешь слово на состовные части
Приставка Корень Оконьчание Суффикс
Берёшь корень И рандоматом хуяришь к этому корню всякие прибамбасы (аля суффикс + Приставки ...) = Новые слова
А потом и ищешь все эти сгенерированные слова !

5

А как выделить из слова эти окончания простаки суффиксы?

6

Hydroxide, ОТКРОЙ УЧЕБНИК ПО РУССКОМУ ЯЗЫКУ И СМОТРИ:
всяки
при-пре
пере
с
..
..
Их не так много !

7

А если все вместе сложить приставки, суффиксы и окончания, то получается до фига!

8

У тебя есть слова

Прикройся
Автоген
Перевернувшийся

Попробуй, придумай ОДИН алгоритм, который сможет разбить эти слова на корни\окончания\пристаки\суффиксы.

Корчое это реально, но сложно. З****я делать  - надо катать массивы со всеми возможными суфиксами префиксами и прочей похеренью, а потмо сравнивать все со всем. Теоретически возможно но практически - геморно, мну кажецо есть вариант лучше...

9

procedure POISK(Kolvo:integer;var Nax:integer);
var
   What:string;
   Where:string;
   How:String;
   i,j:integer;
   begin
      What:='';
      For i:=1 to Kolvo do
         begin
            What:=What+Form1.Edit1.Text[i];
            end;
      //Form1.StringGrid1.RowCount
      For j:=1 to Form1.StringGrid1.RowCount-1 do
         begin
            How:=Form1.StringGrid1.Cells[Form1.ComboBox1.ItemIndex,j];
            Where:='';
            For i:=1 to Kolvo do
               Where:=Where+How[i];
            if What=Where then
               begin
                  Nax:=Nax+1;
                  Form1.ListBox2.Items.Add(IntToStr(j));
                  end;
            end;
      end;



               {Поиск ... первые 8..7..6..5..4..3..2.. буквы=========================}
               Kolvo:=length(Edit1.Text);
               if Kolvo>8 then Kolvo:=8;
               if Kolvo<2 then Kolvo:=2;
               For i:=0 to Kolvo-1 do
                  begin
                     if Nax=0 then POISK(Kolvo-i,Nax);
                     end;
               {============================================================}

Заточно под конкретную программу.

10

А что там за Nax?

11

Hydroxide
Тебе не кажется, что функция поиска поиска должна немножко по- другому выглядеть?
Ну например
Function Poisk(Где_Искать:TSrings; Что_Искать:String; Откуда_Начать): Где_Нашли;
В алгоритм твой я конечно не пропёрся, но не хочу голову забивать.

Отредактировано Necros (2006-10-27 22:11:27)

12

Necros Это всего лишь кусок программного кода, его можно и в функцию переделать.

Звор Nax (Находим) - кол-во найденных результатов

13

Звор написал(а):

А что там за Nax?

:D +1

14

=)) звор отжег


Вы здесь » ПТК » Программирование » Задача по Кодингу и Алгоритмике № 1