Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 22:11   #1
zenid
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 47
По умолчанию строки

Дана строка, содержащая текст. Найти длину самого короткого слова и его порядковый номер.
длину самого короткого слова я нашел,подскажите а как найти порядковый номер, напишите пожалйста код:
var
s:string;
small,i,n,k,t: integer;
begin
k:=0;
readln(s);
k:=0;
n:=length(s);
i:=1;
t:=0;
while (i<=n) do begin
if (s[i]) <>' ' then t:=t+1 else begin
if t<small then small:=t;
t:=0;
end;
i:=i+1;
end;
end;
writeln(small);
end.
zenid вне форума Ответить с цитированием
Старый 25.12.2011, 22:39   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
const
  dividers = [' '];
var
  s,temp: string;
  i,k,lmin,km: integer;
begin
  writeln('s:');
  ReadLn(s);
  temp:='';
  lmin := Length(s);
  k:=0; km:=0;
  for i := 1 to Length(s) do
  begin
    if not (s[i] in dividers) then
      temp := temp + s[i];
    if ((s[i] in dividers) or (i = Length(s))) and (temp <> '') then
    begin
    inc(k);
      if Length(temp) < lmin then begin
        lmin := Length(temp); km:=k;end;

      temp := '';
    end
  end;
  WriteLn('Длина самого короткого: ', lmin, ' его номер ' ,km);
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 26.12.2011 в 15:59.
Mad_Cat вне форума Ответить с цитированием
Старый 25.12.2011, 22:41   #3
zenid
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 47
По умолчанию

спасибо огромное...!
zenid вне форума Ответить с цитированием
Старый 25.12.2011, 22:42   #4
zenid
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 47
По умолчанию

а что такое dividers?
zenid вне форума Ответить с цитированием
Старый 25.12.2011, 22:47   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
dividers
множество разделителей слов
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 26.12.2011, 14:14   #6
zenid
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 47
По умолчанию

скажите пожалуйста в чем ошибка в исправленной программе если программа не правильно считает Длину самого короткого слова.

Последний раз редактировалось zenid; 26.12.2011 в 14:50.
zenid вне форума Ответить с цитированием
Старый 26.12.2011, 14:50   #7
zenid
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 47
По умолчанию

пожалуста помогите.....!
zenid вне форума Ответить с цитированием
Старый 26.12.2011, 15:59   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Результат
Цитата:
s:
Дана строка содержащая текст найти длину самого короткого слова и его порядковый номер
Длина самого короткого: 1 его номер 10
В чем не правильность?
еще пример
Цитата:
s:
если бы не было тебя
Длина самого короткого: 2 его номер 2
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 26.12.2011 в 16:05.
Mad_Cat вне форума Ответить с цитированием
Старый 26.12.2011, 20:33   #9
zenid
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 47
По умолчанию

ввел вашу программу у меня всегда почему то выводит длину слова больше на 1 символ, незнаю почему, может он считает пробел?
zenid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0 . Если совпадающих подстрок нет, Шпунюся Помощь студентам 1 16.12.2010 21:02
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10