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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2021, 12:45   #1
quakenez
Пользователь
 
Регистрация: 02.12.2021
Сообщений: 16
Восклицание Помогите доработать программу, пожалуйста. Дана строка. Указать те слова, которые содержат хотя бы одну букву к.

var s,s1: string;
i,l: integer;
begin
write('Введите строку: ');
readln(s);
l:=Length(s);
for i:=1 to l do begin
if s[i]='к' then
s1:=s1+s[i];
end;
writeln(s1)
end.
quakenez вне форума Ответить с цитированием
Старый 05.12.2021, 12:52   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

У вас нет разбиения на слова. Как идея, что-то такое:
Код:
s:=s+' ';
w:='';
k:=false;
for i:=1 to l do begin
  if s[i]<>' ' then begin
    w:=w+s[i];
    if s[i]='к' then k:=true;
  end else begin
    if k then writeln(w);
    w:='';
    k:=false;
  end;
end;
Arigato вне форума Ответить с цитированием
Старый 05.12.2021, 12:55   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
var s,s1: string;
    i,l: integer;
begin
   write('Введите строку: ');
   readln(s);
   s:=s+' ';
   l:=Length(s);
   s1:='';
   for i:=1 to l do begin
      if s[i]<>' ' then
         s1:=s1+s[i] else
      begin
         if Pos('к', s1)>0 then
            Writeln(s1);
         s1:='';
      end;
   end;
   writeln(s1);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 05.12.2021, 12:58   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

А если разделитель - не пробел, а к примеру , ?
digitalis вне форума Ответить с цитированием
Старый 05.12.2021, 13:01   #5
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Тогда нужно применять множество, например, ['а'..'я'] со всеми вытекающими
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 05.12.2021, 14:18   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
А если разделитель - не пробел, а к примеру , ?
По правилам, после знака препинания всё равно надо ставить пробел.
Arigato вне форума Ответить с цитированием
Старый 05.12.2021, 18:49   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

По-моему, это правило вёрстки, а не языка Например, в языке нет такого правила " 'убрать коридор' ", а корректор, заметив его в соседних строках, обязательно пометит его соответствующим знаком.
Впрочем, я опять, кажется, сваливаюсь в оффтоп.
newerow1989 тогда прога не будет универсальной, ей потребуется алфавит конкретного языка.
Ну да мы же о студенческих задачках.....
Изображения
Тип файла: jpg Корр.jpg (14.2 Кб, 14 просмотров)

Последний раз редактировалось digitalis; 05.12.2021 в 19:00.
digitalis вне форума Ответить с цитированием
Старый 05.12.2021, 19:13   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
По-моему, это правило вёрстки, а не языка
В правилах вообще нет понятия пробела. Интересно, а есть ли в правилах указание на счет того, как слова должны отделяться друг от друга? Ведь символа "пробел" в алфавите нет, и знака препинания такого тоже нет.
Arigato вне форума Ответить с цитированием
Старый 05.12.2021, 23:10   #9
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Да кто ж его знает... Я никогда не видел этих правил. Так как-то всё, по интуёвине..
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[С# Массивы]: Дана прямоугольная матрица. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент Ilya011 Помощь студентам 9 23.11.2016 19:20
Помогите разобрать задачу в C++. Ищет слова которые содержат заданную букву Owi Общие вопросы C/C++ 1 03.12.2015 00:00
Найти слова которые содержат введеную букву - C++ Microthel Помощь студентам 1 01.11.2015 16:16
Дана целочисленная квадратная матрица. Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элеме EvgeniyPR Помощь студентам 0 18.11.2012 20:02
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" Mashaa Помощь студентам 13 09.12.2009 13:28