2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: задача по программированию...
Сообщение06.01.2012, 21:51 


24/05/09

2054
arseniiv в сообщении #523896 писал(а):
(Alexu007, ну и тянет же вас в незаконченные темы! :roll:)

А какой смысл писать в законченные, если они закончены? По-моему все так делают - пишут в незаконченные.

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


27/04/09
28128
Точнее, я имел в виду темы, надобность писать в которые сомнительна. Автор ушёл, никто ничего не просит, Точная формулировка отсутствует. Зачем перебирать все варианты? Зачем лишний текст?

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


12/08/10
1677
Circiter в сообщении #523677 писал(а):
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 := Sumbols + [Words[CurrentWord][Character]];
{ Last word with at least one previously unseen char is desired result. }
GetWord := Words[CurrentWord];
end;
end;



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



Можно спросить какой компилятор это скомпилирует? И вы еще забыли каждый раз очищать множество.

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


26/07/09
1559
Алматы
2Null
Цитата:
И вы еще забыли каждый раз очищать множество.

Да я там вообще какую-то чепуху написал, даже не могу вспомнить, что имел ввиду и чего хотел достичь. :)

Конечно же, нам достаточно написать обычную программульку поиска слова максимальной длины, но параметризовать код некоей функцией MyLength() которая, в зависимости от намерений ТС, либо работает как стандартная функция вычисления длины строки, либо как функция подсчета различных символов в ней. В последнем случае, да, есть место множествам -- учитываем очередной символ только если его нет в множестве, затем безусловно добавляем его в это множество. Очевидная модификация:
код: [ скачать ] [ спрятать ]
Используется синтаксис Pascal
function GetWord(Input: string): string
var
    Words: TWords;
    CurrentWord: integer;
    Result: string;
begin
    Words := Split(Input, ' ');
    Result := '';

    for CurrentWord := 1 to Words.Count do
        if MyLength(Words[CurrentWord])>MyLength(Result) then
            Result := Words[CurrentWord];

    GetWord := Result;
end;

function MyLength(Data: string): integer
var
    Character, Result: integer;
    Symbols: set of char;
begin
    Symbols := [];
    Result := 0;

    for Character := 1 to Length(Data)
        if not (Data[Character] in Symbols) then
        begin
            Inc(Result);
            Symbols := Symbols + [Data[Character]];
        end;

    MyLength := Result;
end;
 

Надеюсь, теперь ничего не напутал. :)

Тесты для двух возможных трактовок:
Код:
1) ru www -> ru,
2) ru www -> www.


Цитата:
Можно спросить какой компилятор это скомпилирует?

Да любой, хоть tp, хоть delphi (на паскаль указывают множества). Разумеется, при должном определении Split(), TWords и т.д.

P.S.: Очень странная тема, над ней какое-то проклятие и все она никак не завершится. :) Ну в самом деле, нейросети, бинарный поиск с сортировкой, что только здесь не упоминалось; не удивительно, что ТС "смылся" сразу после отправки первого же сообщения, с перепугу-то...

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


01/03/11
119
Мы очень долго пытались сформулировать его задачу:)
Простите за нейросети и остальное:)

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

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



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

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


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

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