![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
art88 |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Реальное имя: Артём Репутация: ![]() ![]() ![]() |
Задача такова:
Дана строка, найти в ней самое короткое слово (словами называются последовательности символов разделённые пробелами). ------------------------------------------------------------------------ Пожалуйста проверте моё решение этой задачи: она постоянно выводит ноль. ------------------------------------------------------------------------ Заранее спасибо Прикрепленные файлы ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
To: art88 что-то ты намудрил
... var хотя и я не старался ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
To: Altair
Ты чего? :smoke: :D var |
art88 |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Реальное имя: Артём Репутация: ![]() ![]() ![]() |
Уважаемые Altair и volvo, извините, но ваши программы не совсем корректно решают посавленную задачу!
------------------------------------------ В ситуациях, когда 1. Вводится пустая строк, строка пробелов, одно слово или в строке имеются слова одинаковой длинны ничего нельзя сказать о слове с наименьшей длинной, та как его(слова) в данной строке не будет. ------------------------------------------- В связи с этим прошу всё - таки, не решая задачу заново, найти пробел в моём решении(WL_Funct.pas): программа выводит длинну, когда это не нужно: 1.пустая строка или строка пробелов 2.в строке одно слово с началом несовпадающим с началом строки. ------------------------------------------- Надеюсь на понимание ![]() Прикрепленные файлы ![]() |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Проверь так те пойдет?
program WordLen; но кстати неправ ты. Это твоя прога не по заданию. Она не дает понятие какое слово короткое она длинну мин. выводит а это разные вещи - длинна и слово. Может одну из наших прог доделать? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата Может одну из наших прог доделать? Легко... В моей программе достаточно добавить счетчик слов, и если он будет равен 0 или 1 то выдавать сообшение об ошибке... |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
art88,
вот так проверь: program WordLen; |
art88 |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Реальное имя: Артём Репутация: ![]() ![]() ![]() |
:D Я наверное вас уже достал, но всё-таки.
volvo, я немного доделал твою первую программу и всё бы хорошо, но длина первого слова всё время на 1 больше истинной, где ошибка? var Спасибо! ![]() |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Я не понял, тебя твоя же чуть-чуть подправленная программа (из поста №7) уже НЕ устраивает? Тогда объясни, чем...
|
art88 |
![]()
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Реальное имя: Артём Репутация: ![]() ![]() ![]() |
volvo, извини, просто эту задачу мне надо сдавать(я учусь в университете), а как оказалось при решении этой задачи нельзя использвать процедуры.
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата при решении этой задачи нельзя использвать процедуры. Я же говорил, что легче в мою программку добавить несколько строк ![]() var |
PORTUGAL |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
А как сделать что бы вместо длины самого короткого слова, выводилось само слово?
|
klem4 |
![]()
Сообщение
#13
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Код copy(s,start,min) -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
PORTUGAL |
![]()
Сообщение
#14
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
WriteLn( copy(s,start,min) ); такое выдает? ![]() |
greenday |
![]()
Сообщение
#16
|
Гость ![]() |
Сорри, что поднял такую старую тему, просто меня интерисует тоже самое, т.е. поиск самого короткого слова в строке. я решал не много по другому, у мен получилось вот что:
Код program MINWORD; uses crt; var s: string; min,i: integer; begin clrscr; write('VVEDITE PREDLOZHENIE '); read(s);min:=256; repeat i:=pos(' ',s); delete(s,1,i); if (i-1 < min) and (i > 1) then min:=i-1; until i=0; write('Samoe korotkoe slovo = ',min); readkey; end. но это выводит только длину мин. слова. про copy я знаю, но не могу понять куда и как приписать счетчик чтобы он позицию считал. вообщем, помогите плиз, доделать мою прогу. надо чтобы выводил именно слово. заранее спс) |
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Цитата(greenday @ 8.04.2006 23:07) про copy я знаю, но не могу понять куда и как приписать счетчик чтобы он позицию считал. Плохой способ избрал вообще-то. Удаляешь символы из строки - строку придется дублировать. Ну, как знаешь: program MINWORD; |
klem4 |
![]()
Сообщение
#18
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
В принципе это можно исправить, запихнуть в процедуру и передавать строку не черерез var параметр ... Еу и строку соответственно глобально не описывать
![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#19
|
Гость ![]() |
to klem4 к сожалению, нас процедурам не учили и по-этому ими пользоваться нельзя.
огромное вам спасибо! |
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 4:14 |