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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2022, 00:41   #1
Bogdaa
Новичок
Джуниор
 
Регистрация: 20.12.2022
Сообщений: 4
По умолчанию Строки в С++ Дана строка символов до точки. Оставить в ней только слова, начинающиеся на буквы «A», «D», «K», «P».

Задача на С++, не получается(.......

Дана строка символов до точки. Оставить в ней только слова, начинающиеся на буквы «A», «D», «K», «P».
Bogdaa вне форума Ответить с цитированием
Старый 29.12.2022, 02:33   #2
Пётр Седов
Форумчанин
 
Регистрация: 26.10.2022
Сообщений: 119
По умолчанию

Код:
#include <stdio.h>

void filter(char* text) {
  int read_pos = 0;
  int write_pos = 0;
  bool in_word = false;
  bool copy_word = false;
  for (;;) {
    char elem = text[read_pos++];
    if (elem == '\0') {break;} // если дошли до конца текста
    if (elem == ' ') {
      in_word = false;
      text[write_pos++] = elem;
    } else {
      if (!in_word) {
        in_word = true;
        copy_word = (elem == 'A') || (elem == 'D') || (elem == 'K') || (elem == 'P');
      }
      if (copy_word) {
        text[write_pos++] = elem;
      }
    }
  }
  text[write_pos] = '\0';
}

int main() {
  // копируем строковый литерал в локальный массив, чтобы можно было менять содержимое
  char s[] = "Ada C C++ C# D Java Kotlin Pascal Rust";
  filter(s);
  printf("%s\n", s);
  return 0;
}
Вывод на консоль:
Код:
Ada    D  Kotlin Pascal
Цитата:
Сообщение от Bogdaa Посмотреть сообщение
Дана строка символов до точки.
Что значит «до точки»? В строке обязательно точка должна быть?
Пётр Седов вне форума Ответить с цитированием
Старый 29.12.2022, 11:45   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Потом - в скверу, где детские грибочки,
Потом - не помню,- дошел до точки.

Последний раз редактировалось digitalis; 29.12.2022 в 11:49.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана строка символов до точки. Оставить в ней только сло- ва, начинающиеся на буквы «A», «D», «K», «P». Bogdaa Помощь студентам 2 21.12.2022 17:52
Дана S – строка символов длиной n. Выяснить, верно ли что среди символов строки имеются все буквы, входящие в слово ШАР. satori22 Помощь студентам 3 13.12.2020 12:48
Множества: Дана строка, состоящая из букв и цифр. Получить две новые строки, одна из которых содержит только буквы,другая - цифры Гарри Паскаль, Turbo Pascal, PascalABC.NET 12 08.11.2015 01:45
Дана строка символов. Заменить все буквы d, после которых следует запятая, на буквы x (Си) XedCrab Помощь студентам 3 29.01.2014 10:49
Дана строка символов до точки. Определить, сколько слов содержат ровно три буквы "К". Evidence Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 20:40