Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 30.09.2021
Сообщений: 16

Напечатать слова, разделенные пробелом, если буквы в слове не повторяются

03.12.2021, 14:21. Показов 1266. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте! Столкнулся с такой проблемой, что никак не могу понять как решить одну задачу. Прошу помочь, пожалуйста. Задание звучит так: "Дана строка символов, состоящая из нескольких отдельных слов, отделенных пробелом. Вывести на печать те слова, в которых буквы не повторяются". Строка символов содержится в массиве с типом данных char.

Мне помог пользователь nmcf в моей предыдущей теме, за что ему огромное спасибо. Но, к сожалению, такой метод работает на всю строку целиком, т.е., если char words = "Hello word";, то не печатается весь массив вместо того, чтоб напечатать только "word". Еще один пример: "What is going on?" - должно напечататься "What is on?".

Тестирую через сайты-компиляторы, не в среде.

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main() {
    char words[100]="Who are you?";
    bool f=true;
    for (int i = 0; f && words[i] != '\0'; ++i)
        for (int j = i + 1; f && words[j] != '\0'; ++j)
            if (words[i] == words[j]) f = false;
 
    if (f) cout << words;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2021, 14:21
Ответы с готовыми решениями:

Напечатать буквы, с которых начинаются слова в заданном тексте. Слова разделены пробелом
16. Напечатать буквы, с которых начинаются слова в заданном тексте. Слова разделены пробелом.текст задается пользователем

дана строка текста, слова разделены одним пробелом. Напечатать буквы, входящие:
ПОМОГИТЕ ПОЖАЛУЙСТА дана строка текста, слова разделены одним пробелом. Напечатать буквы, входящие: а)в исходный текст(каждую букву...

Напечатать слова, которые отличны от последнего слова, оставив в слове только первые вхождения каждой буквы
Дан текст. Напечатать слова, которые отличны от последнего слова, оставив в слове только первые вхождения каждой буквы.

4
Злостный нарушитель
 Аватар для Verevkin
10641 / 5792 / 1278
Регистрация: 12.03.2015
Сообщений: 26,736
03.12.2021, 14:56
Лучший ответ Сообщение было отмечено Quantum11 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <cstdio>
#include <cstring>
 
bool censored(char* w)
{
  for (; *w; w++)
    for (char* ptr = w + 1; *ptr; ptr++)
      if (*ptr == *w) return false;
  return true;
}
 
void censored_print(char* src)
{
  static const char DELIMS[] = " .,/?";
  char* w = strtok(src, DELIMS);
  while (w)
  {
    if (censored(w)) printf("%s\n", w);
    w = strtok(NULL, DELIMS);
  }
}
 
int main()
{
  char words[] = "Who are you, fuсking nigga?"; 
  censored_print(words);
  return 0;
}
1
0 / 0 / 0
Регистрация: 30.09.2021
Сообщений: 16
03.12.2021, 15:03  [ТС]
Спасибо!! Заодно подняли настроение
0
Злостный нарушитель
 Аватар для Verevkin
10641 / 5792 / 1278
Регистрация: 12.03.2015
Сообщений: 26,736
03.12.2021, 15:13
Цитата Сообщение от Quantum11 Посмотреть сообщение
Спасибо!! Заодно подняли настроение
Пятница жэж!
2
03.12.2021, 15:30

Не по теме:

Цитата Сообщение от Verevkin Посмотреть сообщение
Пятница жэж!
Воистину!

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2021, 15:30
Помогаю со студенческими работами здесь

Заданы ФИО, разделенные пробелом, напечатать фамилию и инициалы
Здравствуйте, нужна помощь с решением заданий в C#(консоли). Заданы фамилия, имя и отчество учащегося, разделенные пробелом. Напечатайте...

Строки. Напечатать все слова последовательности, которые отличны от первого слова, оставить в слове только первые вхождения каждой буквы
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 прописных латинских букв; между соседними словами - не...

Вывести слова, разделенные пробелом, в обратном порядке
Здравствуйте нужно решить программу, с алогритмом более менее, а вот с знанием языка беду =( суть программы. String50. Дана строка,...

Внести слова, разделенные пробелом, из строки в массив
Доброго времени суток. Нужно считать текст из файла и внести в массив слова определенной строки, разделенные пробелом. Набросал такой код: ...

Напечатать все слова последовательности, которые отличны от первого слова и в слове все буквы одинаковы
Дана последовательность символов,содержащая от 1 до 30слов, в каждом из которых от 1 до 10 латинских букв; между соседними словами запятая,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru