2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 задача по программированию...
Сообщение03.01.2012, 10:58 


03/01/12
1
Помогите пожалуйста, не могу решить задачу(по программированию), решается через множество:

Элементами слов могут быть любые символы. Найти и вывести слово, содержащее наибольшее количество букв.

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение03.01.2012, 13:40 


03/01/12
6
:cry: :cry: :lol: :idea: :mrgreen: :| :arrow: :wink: :twisted: :-) :o :shock: :? :arrow: :mrgreen: :idea:

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение03.01.2012, 19:34 


24/05/09

2054
"Тетрагидропиранилциклопентилтетрагидропиридопиридиновые" — слово из 55 букв, описывающее вещество по патенту РФ № 2285004[1]. Найдено в википедии без помощи каких либо программ...

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение03.01.2012, 22:55 
Заслуженный участник


27/04/09
28128
Aigera111, что на входе-то? Текст какой-нибудь? И чем разделены слова — пробелами ли, или ещё и пунктуацией разной, или по-особому?

-- Ср янв 04, 2012 02:05:25 --

И какой язык.

Вообще, не знаю, зачем там множества — сортировка приходит в голову и кажется правильным выбором. А можно даже без сортировки — заполнение массива/списка с сохранением упорядоченности с использованием бинарного поиска.

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение04.01.2012, 01:43 
Аватара пользователя


01/03/11
119
опять же, возможен "умный"/"полный перебор" - алгоритмы, которые, используя множество всех букв заданного алфавита, комбинируют слова и по решающему правилу определяют принадлежность слов языку. Для этого можно создать еще и нейронную сеть или воспользоваться решающим деревом или ... ( куча умных слов насчет алгоритмов распознавания )

Пожалуйста, напишите более точную формулировку, иначе возникнут вот такие сложные решения.

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение04.01.2012, 08:27 


24/05/09

2054
arseniiv в сообщении #522732 писал(а):
И какой язык.

Русский! :D :D :D


loldop в сообщении #522769 писал(а):
...куча умных слов насчет алгоритмов распознавания...

По какому признаку умный алгоритм отделит слово "папа" или "лапа" от слова "мапа"?

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение04.01.2012, 14:16 
Аватара пользователя


01/03/11
119
язык программирования интересует.

Цитата:
По какому признаку умный алгоритм отделит слово "папа" или "лапа" от слова "мапа"?

Допустим, для начала, будем отличать все слова по количеству букв. Это будет один признак. После, построив достаточно много классов таких слов, будем строить еще один класс - класс слов, различных в некотором символе.
После - строить класс слов, отличных ... И так далее.
Идея - разделять в начале их длину, потом их расстояние между друг другом, введя его как обычное расстояние:

$a_1..a_n$ - слово из класса "длина" с номером n
расстояние введем в каждом классе как:
$\ro( a_1..a_n, b_1..b_n) = \sum\limits_1^n ( a_i - b_i )$
и, конечно же, не забудем ввести и упорядоченность букв алфавита:
$a_i+j = a_{i+j}$

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение04.01.2012, 18:22 
Аватара пользователя


01/03/11
119
а существует ли такое слово в языке, не допущена ли обшибка в его написание - это другой вопрос. Для этого используются словари.
Если у вас нет задачи проверять слова на принадлежность тому или иному языку, то, пожалуйста, можете использовать выше описанный "набросок".

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение04.01.2012, 22:41 


24/05/09

2054
Мозг не вычисляет слова, мозг их помнит. Следовательно даже у естественного интеллекта слова - это прежде всего обширная база данных.

Но юмор не в этом, а в полном неумении автора темы правильно сформулировать задачу.

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение04.01.2012, 23:10 
Заслуженный участник


27/04/09
28128
Вы тут всё пишете, пишете… А топикстартер, скорее всего, не вернётся! :lol:

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение04.01.2012, 23:24 


24/05/09

2054

(Оффтоп)

Да так, потрепаться, скучно чего то... Пить надоело... Телек смотреть неинтересно...

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение05.01.2012, 19:39 
Аватара пользователя


01/03/11
119

(Оффтоп)

слава богу, что пить надоело!
Да и телек смотреть неинтересно - супер!
Благо, хотя бы топикастер вселяет надежду:)

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение06.01.2012, 03:57 
Заслуженный участник


26/07/09
1559
Алматы
2Aigera111
Цитата:
решается через множество

Надо полагать, в качестве языка реализации используется паскаль?

Цитата:
Элементами слов могут быть любые символы. Найти и вывести слово, содержащее наибольшее количество букв.

Очень нечеткая формулировка. Её можно понять как задачу о поиске самого длинного слова. Хотя наверняка подразумевается поиск слова с наибольшим количеством разных символов алфавита, так?

Ok, общая идея может быть такой:
код: [ скачать ] [ спрятать ]
Используется синтаксис Pascal
function GetWord(Input: string): string
var
    Words: TWords;
    CurrentWord, Character: integer;
    Symbols: set of char;
begin
    Symbols := [];
    Words := Split(Input, ' '); { Explode an input string into the list of words. }

    for CurrentWord:=1 to Words.Count do { Enumerate all words. }
        for Character:=1 to Length(Words[CurrentWord]) do { Scan current word char-by-char. }
            { If current char is unfamiliar... }
            if not (Words[CurrentWord][Character] in Symbols) then
            begin
                { Add this char to the set.}
                Symbols := Symbols + [Words[CurrentWord][Character]];
                { Last word with at least one previously unseen char is desired result. }
                GetWord := Words[CurrentWord];
            end;
end;
 


Наверное как-то так...

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение06.01.2012, 17:32 


24/05/09

2054
А в чём тут сложность то? Считай буквы от пробела до пробела, да скидывай готовое слово в буфер, предварительно сравнив величину с уже имеющимся там словом. В конце текста в буфере останется самое крупное слово.

Не решить подобную "задачу" может только полный ноль в программировании, но для таких придуман раздел "задачи за $$".

 Профиль  
                  
 
 Re: задача по программированию...
Сообщение06.01.2012, 17:59 
Заслуженный участник


27/04/09
28128
Да по-всякому можно. Другое дело, что автор убежал, даже недоопределив условие.

(Alexu007, ну и тянет же вас в незаконченные темы! :roll:)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group