Автор Артем Корж задал вопрос в разделе Другие языки и технологии
Самое маленькое слово и получил лучший ответ
Ответ от Андрей Азизханов[активный]
ы
Ответ от Ольга миронова[гуру]
я
я
Ответ от Виктор[гуру]
Проще всего считать весь файл в массив строк и затем уже работать с ним. Сначала определить длину самого короткого слова и затем искать все слова этой длины и сохранять в другой массив или сразу же отправлять на вывод.
Не слишком элегантно, но работать будет.
Проще всего считать весь файл в массив строк и затем уже работать с ним. Сначала определить длину самого короткого слова и затем искать все слова этой длины и сохранять в другой массив или сразу же отправлять на вывод.
Не слишком элегантно, но работать будет.
Ответ от Александр Парсаданов[гуру]
Я на Си пишу. Слова ищу с помощью функции Дел (она находит такие знаки ( :. ; ? !") и пробелы тоже.
между этими знаками находятся слова.
Я на Си пишу. Слова ищу с помощью функции Дел (она находит такие знаки ( :. ; ? !") и пробелы тоже.
между этими знаками находятся слова.
Ответ от И.А. Голованов[гуру]
словом в файле может оказаться что угодно.
и самое маленькое слово может оказаться многострочным (формат файла может подразумевать метку переноса слова по строкам)
как вариант:
первый этап выделить первое слово
динамически выделять размер 1й строки и идя по ней смотреть есть ли слова меньше строки или всё это начало слова с переносом.
если с переносом, то выделять на первую+вторую строки а старую освобождать и т. д пока не наберётся хоть одно слово.
если слово уже ограничилось - оставить набранную память для него и меньшие слова в тот кусок памяти перезаписывать, чтоб не мучить комп постоянными перераспределениями памяти
второй этап
перезаписывать в то кусок памяти и метку длины уже то что из слов попадется покороче.
ну и использовать концевой символ (типа: Си-строка всегда заканчивается символом с кодом "0", и память под строку должна быть хоть на единичку больше длины строки - как раз для размещения в куске памяти строки которая занимает его не целиком)
словом в файле может оказаться что угодно.
и самое маленькое слово может оказаться многострочным (формат файла может подразумевать метку переноса слова по строкам)
как вариант:
первый этап выделить первое слово
динамически выделять размер 1й строки и идя по ней смотреть есть ли слова меньше строки или всё это начало слова с переносом.
если с переносом, то выделять на первую+вторую строки а старую освобождать и т. д пока не наберётся хоть одно слово.
если слово уже ограничилось - оставить набранную память для него и меньшие слова в тот кусок памяти перезаписывать, чтоб не мучить комп постоянными перераспределениями памяти
второй этап
перезаписывать в то кусок памяти и метку длины уже то что из слов попадется покороче.
ну и использовать концевой символ (типа: Си-строка всегда заканчивается символом с кодом "0", и память под строку должна быть хоть на единичку больше длины строки - как раз для размещения в куске памяти строки которая занимает его не целиком)
Ответ от Анатолий Архипкин[гуру]
самое маленькое слово для пк это с критерием от и до. от одного допустим до 3 букв
самое маленькое слово для пк это с критерием от и до. от одного допустим до 3 букв
Ответ от (843) 212-55-23[новичек]
Methionylglutaminylarginyltyrosylglutamylserylleucylphenylalanylalanylglutaminylleucyllysylglutamylarginyllysyglutamylgycylalanylphenylalanylvalylprolylphenylalanylvalylthreonylleucylglycylaspartylprolylglycyllisoleucylglutamylglutaminylserylleucyllysylisoleucylaspartylthreonylleucylisoleucylglutamylalanylglycylalanylaspartylalanylleucylglutamylleucylglycylisoleucylprolylphenylalanylserylaspartylprolylleucylalanylaspartylglycylprolylthreonylisoleucylglutaminylasparaginylalanylthreonylleucylarginylalanylphenylalanylalanylalanylglycylvalylthreonylprolylalanylglutaminylcysteinylphenylalanylglutamylmethionylleucylalanylleucylisoleucylarginylglutaminyllysylhistidylprolylthreonylisoleucylprolylisoleucylglycylleucylleucylmethionyltyrosylalanlylasparaginylleucylvalylphenylalanylasparaginyllysylglycylisoleucylaspartylglutamylphenylalanyltyrosylalanylglutaminylcysteinylglutamyllysylvalylglycylvalylaspartylsrylvalylleucylvalylalanylaspartylvalylprolylvalylglutaminylglutamylserylalanylprolylphenylalanylarginylglutaminylalanylalanylleucylarginylhistidylasparaginylvalylalanylprolylisoleucylphenylalanylisoleucylcysteinylprolylprolylaspartylalanylaspartylaspartylaspartylleucylleucylarginylglutaminylisoleucylalanylseryltyrosylglycylarginylglycyltyrosylthreonyltyrosylleucylleucylserylarginylalanylglycylvalylthreonylglycylalanylglutamylasparaginylarginylalanylalanylleucylleucyllysylglutamyltyrosylasparaginylalanylalanylprolylprolylleucylglutaminylglycylphenylalanylglysylisoleucylserylalanylprolylaspartylglutaminylvalyllysylalanylalanylisoleucylaspartylalanylglycylalanylalanylglycylalanylisoleucylserylglycylserylalanylisoleucylvalyllysylisoleucylisoleucylglutamylglutaminylhistidylasparaginylisoleucylglutamylprolylglutamyllysylmethionylleucylalanylalanylleucyllysylvalylphenylalanylvalylglutaminylprolylmethionyllysylalanylalanylthreonylarginylserine
Methionylglutaminylarginyltyrosylglutamylserylleucylphenylalanylalanylglutaminylleucyllysylglutamylarginyllysyglutamylgycylalanylphenylalanylvalylprolylphenylalanylvalylthreonylleucylglycylaspartylprolylglycyllisoleucylglutamylglutaminylserylleucyllysylisoleucylaspartylthreonylleucylisoleucylglutamylalanylglycylalanylaspartylalanylleucylglutamylleucylglycylisoleucylprolylphenylalanylserylaspartylprolylleucylalanylaspartylglycylprolylthreonylisoleucylglutaminylasparaginylalanylthreonylleucylarginylalanylphenylalanylalanylalanylglycylvalylthreonylprolylalanylglutaminylcysteinylphenylalanylglutamylmethionylleucylalanylleucylisoleucylarginylglutaminyllysylhistidylprolylthreonylisoleucylprolylisoleucylglycylleucylleucylmethionyltyrosylalanlylasparaginylleucylvalylphenylalanylasparaginyllysylglycylisoleucylaspartylglutamylphenylalanyltyrosylalanylglutaminylcysteinylglutamyllysylvalylglycylvalylaspartylsrylvalylleucylvalylalanylaspartylvalylprolylvalylglutaminylglutamylserylalanylprolylphenylalanylarginylglutaminylalanylalanylleucylarginylhistidylasparaginylvalylalanylprolylisoleucylphenylalanylisoleucylcysteinylprolylprolylaspartylalanylaspartylaspartylaspartylleucylleucylarginylglutaminylisoleucylalanylseryltyrosylglycylarginylglycyltyrosylthreonyltyrosylleucylleucylserylarginylalanylglycylvalylthreonylglycylalanylglutamylasparaginylarginylalanylalanylleucylleucyllysylglutamyltyrosylasparaginylalanylalanylprolylprolylleucylglutaminylglycylphenylalanylglysylisoleucylserylalanylprolylaspartylglutaminylvalyllysylalanylalanylisoleucylaspartylalanylglycylalanylalanylglycylalanylisoleucylserylglycylserylalanylisoleucylvalyllysylisoleucylisoleucylglutamylglutaminylhistidylasparaginylisoleucylglutamylprolylglutamyllysylmethionylleucylalanylalanylleucyllysylvalylphenylalanylvalylglutaminylprolylmethionyllysylalanylalanylthreonylarginylserine
Ответ от Locus[гуру]
Я бы попытался так:
Переменной "А" присваиваешь длину первого слова текста.
Если длина второго слова меньше первого, то "А" равно новому значению,
иначе пропустить слово и перейти к третьему и т. д.
Так определишь самую маленькую длину слова в тексте вообще.
==============
Этап 2 (второй цикл):
Переменная "А" = 1-й элемент массива.
Если длина слова равна "А", то оно i-тый элемент массива,
иначе пропустить слово.
В итоге получится массив из самых коротких слов, которые
одинаковой длины. ))
Я бы попытался так:
Переменной "А" присваиваешь длину первого слова текста.
Если длина второго слова меньше первого, то "А" равно новому значению,
иначе пропустить слово и перейти к третьему и т. д.
Так определишь самую маленькую длину слова в тексте вообще.
==============
Этап 2 (второй цикл):
Переменная "А" = 1-й элемент массива.
Если длина слова равна "А", то оно i-тый элемент массива,
иначе пропустить слово.
В итоге получится массив из самых коротких слов, которые
одинаковой длины. ))
Ответ от Николай Матвейчук[гуру]
слово - это любой набор букв.. .
1. открываем файл.
2. читаем посимвольно весь файл и определяем длину самой короткой последовательности букв
3. сбрасываем указатель
4. читаем файл по новой, но выбираем только те слова, длина которых совпадает с нашей циферкой
Как бонус, можно не просто искать найменьшее в пункте 2, но и считать количество найденных (сбрасывая счётчик, если нашли слово короче предыдущих)... Тогда можно будет заранее сказать сколько в тексте таких слов, и если нужен массив, то не городить сложный код с динамическими массивами (или там разными векторами, код простой, но менее производительный).
слово - это любой набор букв.. .
1. открываем файл.
2. читаем посимвольно весь файл и определяем длину самой короткой последовательности букв
3. сбрасываем указатель
4. читаем файл по новой, но выбираем только те слова, длина которых совпадает с нашей циферкой
Как бонус, можно не просто искать найменьшее в пункте 2, но и считать количество найденных (сбрасывая счётчик, если нашли слово короче предыдущих)... Тогда можно будет заранее сказать сколько в тексте таких слов, и если нужен массив, то не городить сложный код с динамическими массивами (или там разными векторами, код простой, но менее производительный).
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Самое маленькое слово