маленькие слова



Автор Артем Корж задал вопрос в разделе Другие языки и технологии

Самое маленькое слово и получил лучший ответ

Ответ от Андрей Азизханов[активный]
ы

Ответ от Ольга миронова[гуру]
я

Ответ от Виктор[гуру]
Проще всего считать весь файл в массив строк и затем уже работать с ним. Сначала определить длину самого короткого слова и затем искать все слова этой длины и сохранять в другой массив или сразу же отправлять на вывод.
Не слишком элегантно, но работать будет.

Ответ от Александр Парсаданов[гуру]
Я на Си пишу. Слова ищу с помощью функции Дел (она находит такие знаки ( :. ; ? !") и пробелы тоже.
между этими знаками находятся слова.

Ответ от И.А. Голованов[гуру]
словом в файле может оказаться что угодно.
и самое маленькое слово может оказаться многострочным (формат файла может подразумевать метку переноса слова по строкам)
как вариант:
первый этап выделить первое слово
динамически выделять размер 1й строки и идя по ней смотреть есть ли слова меньше строки или всё это начало слова с переносом.
если с переносом, то выделять на первую+вторую строки а старую освобождать и т. д пока не наберётся хоть одно слово.
если слово уже ограничилось - оставить набранную память для него и меньшие слова в тот кусок памяти перезаписывать, чтоб не мучить комп постоянными перераспределениями памяти
второй этап
перезаписывать в то кусок памяти и метку длины уже то что из слов попадется покороче.
ну и использовать концевой символ (типа: Си-строка всегда заканчивается символом с кодом "0", и память под строку должна быть хоть на единичку больше длины строки - как раз для размещения в куске памяти строки которая занимает его не целиком)

Ответ от Анатолий Архипкин[гуру]
самое маленькое слово для пк это с критерием от и до. от одного допустим до 3 букв

Ответ от (843) 212-55-23[новичек]
Methionylglutaminylarginyltyrosylglutamylserylleucylphenylalanylalanylglutaminylleucyllysylglutamylarginyllysyglutamylgycylalanylphenylalanylvalylprolylphenylalanylvalylthreonylleucylglycylaspartylprolylglycyllisoleucylglutamylglutaminylserylleucyllysylisoleucylaspartylthreonylleucylisoleucylglutamylalanylglycylalanylaspartylalanylleucylglutamylleucylglycylisoleucylprolylphenylalanylserylaspartylprolylleucylalanylaspartylglycylprolylthreonylisoleucylglutaminylasparaginylalanylthreonylleucylarginylalanylphenylalanylalanylalanylglycylvalylthreonylprolylalanylglutaminylcysteinylphenylalanylglutamylmethionylleucylalanylleucylisoleucylarginylglutaminyllysylhistidylprolylthreonylisoleucylprolylisoleucylglycylleucylleucylmethionyltyrosylalanlylasparaginylleucylvalylphenylalanylasparaginyllysylglycylisoleucylaspartylglutamylphenylalanyltyrosylalanylglutaminylcysteinylglutamyllysylvalylglycylvalylaspartylsrylvalylleucylvalylalanylaspartylvalylprolylvalylglutaminylglutamylserylalanylprolylphenylalanylarginylglutaminylalanylalanylleucylarginylhistidylasparaginylvalylalanylprolylisoleucylphenylalanylisoleucylcysteinylprolylprolylaspartylalanylaspartylaspartylaspartylleucylleucylarginylglutaminylisoleucylalanylseryltyrosylglycylarginylglycyltyrosylthreonyltyrosylleucylleucylserylarginylalanylglycylvalylthreonylglycylalanylglutamylasparaginylarginylalanylalanylleucylleucyllysylglutamyltyrosylasparaginylalanylalanylprolylprolylleucylglutaminylglycylphenylalanylglysylisoleucylserylalanylprolylaspartylglutaminylvalyllysylalanylalanylisoleucylaspartylalanylglycylalanylalanylglycylalanylisoleucylserylglycylserylalanylisoleucylvalyllysylisoleucylisoleucylglutamylglutaminylhistidylasparaginylisoleucylglutamylprolylglutamyllysylmethionylleucylalanylalanylleucyllysylvalylphenylalanylvalylglutaminylprolylmethionyllysylalanylalanylthreonylarginylserine

Ответ от Locus[гуру]
Я бы попытался так:
Переменной "А" присваиваешь длину первого слова текста.
Если длина второго слова меньше первого, то "А" равно новому значению,
иначе пропустить слово и перейти к третьему и т. д.
Так определишь самую маленькую длину слова в тексте вообще.
==============
Этап 2 (второй цикл):
Переменная "А" = 1-й элемент массива.
Если длина слова равна "А", то оно i-тый элемент массива,
иначе пропустить слово.
В итоге получится массив из самых коротких слов, которые
одинаковой длины. ))

Ответ от Николай Матвейчук[гуру]
слово - это любой набор букв.. .
1. открываем файл.
2. читаем посимвольно весь файл и определяем длину самой короткой последовательности букв
3. сбрасываем указатель
4. читаем файл по новой, но выбираем только те слова, длина которых совпадает с нашей циферкой
Как бонус, можно не просто искать найменьшее в пункте 2, но и считать количество найденных (сбрасывая счётчик, если нашли слово короче предыдущих)... Тогда можно будет заранее сказать сколько в тексте таких слов, и если нужен массив, то не городить сложный код с динамическими массивами (или там разными векторами, код простой, но менее производительный).

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Самое маленькое слово
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*