IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Самое короткое слово в строке
art88
сообщение 27.10.2005 20:41
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


Задача такова:
Дана строка, найти в ней самое короткое слово (словами называются последовательности символов разделённые пробелами).
------------------------------------------------------------------------
Пожалуйста проверте моё решение этой задачи: она постоянно выводит ноль.
------------------------------------------------------------------------
Заранее спасибо


Прикрепленные файлы
Прикрепленный файл  WORDLENG.PAS ( 626 байт ) Кол-во скачиваний: 236
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
art88
сообщение 29.10.2005 20:42
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Мужской
Реальное имя: Артём

Репутация: -  0  +


:D Я наверное вас уже достал, но всё-таки.
volvo, я немного доделал твою первую программу и всё бы хорошо, но длина первого слова всё время на 1 больше истинной, где ошибка?
var
s: string;
i, min:integer;
curr_len, start: byte;
c : integer;
ok : Boolean;
begin
ok := true;
readln(s);
min := length(s);
while (s[1] = ' ') and (i <= length(s)) do delete(s, 1, 1);
while i <= length(s) do begin
while (s[i] = ' ') and (i <= length(s)) do inc(i);
curr_len := 0;
while (s[i] <> ' ') and (i <= length(s)) do begin
inc(i);
inc(curr_len);
end;
inc©;
if curr_len < min then begin
min := curr_len;
ok := true;
end
else if min = curr_len then
ok := false;
end;
writeln;
if (min = 0) or (c <= 1) then
ok := false;
if ok then
writeln(min)
else
writeln('There is no word with minimal length');
readln;
end.

Спасибо! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
art88   Самое короткое слово в строке   27.10.2005 20:41
Altair   To: art88 что-то ты намудрил ... var s:string; ...   27.10.2005 20:51
volvo   To: Altair Ты чего? :smoke: :D var s: string;...   27.10.2005 21:11
art88   Уважаемые Altair и volvo, извините, но ваши програ...   29.10.2005 17:40
Altair   Проверь так те пойдет? program WordLen; var i : i...   29.10.2005 17:53
volvo   Легко... В моей программе достаточно добавить сче...   29.10.2005 18:06
volvo   art88, вот так проверь: program WordLen; var i :...   29.10.2005 19:16
art88   :D Я наверное вас уже достал, но всё-таки. volvo, ...   29.10.2005 20:42
volvo   Я не понял, тебя твоя же чуть-чуть подправленная п...   29.10.2005 20:45
art88   volvo, извини, просто эту задачу мне надо сдавать(...   29.10.2005 22:29
volvo   Я же говорил, что легче в мою программку добавить...   29.10.2005 22:39
PORTUGAL   А как сделать что бы вместо длины самого короткого...   6.02.2006 21:28
klem4   copy(s,start,min)   6.02.2006 21:38
PORTUGAL   [code]copy(s,start,min) Выдает - [b]inv...   6.02.2006 22:05
volvo   WriteLn( copy(s,start,min) ); такое выдает? :blin...   6.02.2006 22:07
greenday   Сорри, что поднял такую старую тему, просто меня и...   8.04.2006 23:07
volvo   про copy я знаю, но не могу понять куда и как прип...   8.04.2006 23:30
klem4   В принципе это можно исправить, запихнуть в процед...   9.04.2006 5:15
Гость   to klem4 к сожалению, нас процедурам не учили и по...   9.04.2006 9:28


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 12.08.2025 6:19
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"