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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2019, 19:56   #1
ррррр1234
Новичок
Джуниор
 
Регистрация: 15.10.2019
Сообщений: 2
По умолчанию Вывести второе слово, начинающиеся на К

Дана рандомная строка, в которой слова могут быть разделены несколькими пробелами, в этой строке нужно найти второе слово, начинающиеся на К, а затем его вывести с использованием ф-ий pos и copy.(напишите, пожалуйста, как можно проще)
ррррр1234 вне форума Ответить с цитированием
Старый 16.10.2019, 09:42   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

https://ideone.com/B4ZyfW

Код:
program ideone;
var s : string;
   p:integer;
begin
   s := 'know  as book enot on bork  kort in the kind';
   
   s := ' ' + s + ' '; {добавить пробелы в начало для поиска слов, начинающихся с K
   	                и в конец, чтобы найти конец слова   }
   p := Pos(' k',s);
   if p<>0 then begin
      s := Copy(s,p+1,Length(s)-p);
      p := Pos( ' k', s);
      if p<>0 then begin
         s := Copy(s,p+1,Length(s)-p);
         p := Pos(' ',s); {найти пробел после слова, чтобы выделить само слово}
         WriteLn(Copy(s,1,p-1))
      end;
   end;
   if p=0 then WriteLn('Нет такого слова')
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.10.2019, 00:51   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Не по теме.
Сергей, а вам потом не становится неприятно оттого, что вы выполнили какую-то работу, помогли, а вам даже спасибо не сказали?
Вадим Мошев вне форума Ответить с цитированием
Старый 17.10.2019, 09:17   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Сергей, а вам потом не становится неприятно оттого, что вы выполнили какую-то работу, помогли, а вам даже спасибо не сказали?
конечно, неприятно.
но, во-первых, я делаю только то, что мне несложно и недолго (чисто мозги размять)
во-вторых, знаю, что некоторые ходят на форум не каждый день. Поэтому спасибо может через неделю прилететь.
в-третьих, это же форуму полезно. Эта тема теперь не только будет находится через поиск, но и тут будет рабочее решение. Кому-то обязательно пригодится.

p.s. да и я, в принципе, альтруист...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.10.2019, 09:51   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,772
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в-третьих, это же форуму полезно. Эта тема теперь не только будет находится через поиск, но и тут будет рабочее решение. Кому-то обязательно пригодится.
А куча одинаковых тем с одинаковыми задачами на форуме почкованиями получаются?
p51x вне форума Ответить с цитированием
Старый 17.10.2019, 10:14   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А куча одинаковых тем с одинаковыми задачами на форуме почкованиями получаются?
Вы хотите сказать, что эта задача уже решена на форуме?
Каюсь, мне было проще (и интереснее) написать за 5 минут код, чем искать его на форуме и проверять имеющиеся там решения.

Больше тем - одинаковых и разных!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.10.2019, 18:49   #7
ррррр1234
Новичок
Джуниор
 
Регистрация: 15.10.2019
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
https://ideone.com/B4ZyfW

Код:
program ideone;
var s : string;
   p:integer;
begin
   s := 'know  as book enot on bork  kort in the kind';
   
   s := ' ' + s + ' '; {добавить пробелы в начало для поиска слов, начинающихся с K
   	                и в конец, чтобы найти конец слова   }
   p := Pos(' k',s);
   if p<>0 then begin
      s := Copy(s,p+1,Length(s)-p);
      p := Pos( ' k', s);
      if p<>0 then begin
         s := Copy(s,p+1,Length(s)-p);
         p := Pos(' ',s); {найти пробел после слова, чтобы выделить само слово}
         WriteLn(Copy(s,1,p-1))
      end;
   end;
   if p=0 then WriteLn('Нет такого слова')
end.
Большое спасибо!
ррррр1234 вне форума Ответить с цитированием
Старый 17.10.2019, 22:10   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ррррр1234 Посмотреть сообщение
Большое спасибо!
Пожалуйста!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести слово минимальной длины. Если таких слов несколько,вывести первое введенное слово mkolmi Помощь студентам 0 11.03.2019 22:39
как скрыть второе слово средством css artkhvz HTML и CSS 7 11.08.2015 14:59
работа со строками - удалить второе слово AlexP777 Паскаль, Turbo Pascal, PascalABC.NET 2 23.05.2013 18:15
C++ Вывести на экран второе слово ILYA1991 Общие вопросы C/C++ 2 27.01.2013 17:24
Скопированить уникальные имена из столбца начинающиеся на одно слово NikolayG Microsoft Office Excel 2 21.02.2012 12:23