С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.03.2023
Сообщений: 6
1

Из заданного предложения выбрать и напечатать те символы, которые встречаются в нем ровно один раз (скобки)

11.03.2023, 16:47. Показов 575. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот пример программы. Она проверяет имеется ли в заданном тексте баланс открывающих и закрывающих круглых
скобок, т. е. верно ли, что можно установить взаимно однозначное соответствие открывающих
и закрывающих скобок со следующими свойствами:
а) открывающая скобка всегда предшествует соответствующей закрывающей скобке;
б) первый и последний символы текста – пара соответствующих друг другу скобок.

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
#include "stdafx.h"
#include <iostream>
#include <string.h>
int main()
{
 char s[80];
 int len,i,k,L;
gets(s);
 len=strlen(s);
k=0;
 if (s[0]=='(' && s[len-1]==')') {
 i=1;
 while (i<len-1 && k>=0) {
 if (s[i]=='(') k++;
 else
 if (s[i]==')') k--;
 i++;
 }
 L=i==len-1 && k==0;
}
 else
 L=0;
printf("%5i",L);
system("pause");
}
0
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
11.03.2023, 16:47
Ответы с готовыми решениями:

Из заданного предложения выбрать и напечатать те символы, которые встречаются в нем ровно один раз (в их порядке)
Нужна программа. которая печатает символы, встречающиеся один раз(нужно, чтобы они шли по порядку)....

Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз
Не могу научиться мыслить на c++. Но старательно пытаюсь.... Если бы не традиционное &quot;Завтра...

Из предложения напечатать те символы, которые встречаются в нем ровно один раз
Из заданного предложения выбрать и напечатать те символы, которые встречаются в нем ровно один раз...

Из текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз
Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз (в...

Из заданного текста выбрать те символы, которые встречаются в нём ровно один раз
Из заданного текста выбрать те символы, которые встречаются в нём ровно один раз. Вывести их в...

11
Злостный нарушитель
9619 / 5209 / 1190
Регистрация: 12.03.2015
Сообщений: 24,612
11.03.2023, 23:08 2
Цитата Сообщение от Gyfsurdi Посмотреть сообщение
Вот пример программы. Она проверяет имеется ли в заданном тексте баланс открывающих и закрывающих круглых скобок
Так твоя прога чо делать-то должна?
0
Вездепух
Эксперт CЭксперт С++
12798 / 6674 / 1796
Регистрация: 18.10.2014
Сообщений: 16,894
11.03.2023, 23:17 3
Цитата Сообщение от Gyfsurdi Посмотреть сообщение
Она проверяет имеется ли в заданном тексте баланс открывающих и закрывающих круглых
скобок
О чем тогда идет речь в заголовке темы? При чем здесь

Цитата Сообщение от Gyfsurdi Посмотреть сообщение
выбрать и напечатать те символы, которые встречаются в нем ровно один раз
?

Цитата Сообщение от Gyfsurdi Посмотреть сообщение
Вот пример программы.
И? В чем вопрос?
0
Злостный нарушитель
9619 / 5209 / 1190
Регистрация: 12.03.2015
Сообщений: 24,612
11.03.2023, 23:24 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdio>
#include <cstdlib>
#define SIZE (1 << (8 * sizeof(char)))
 
// Функция ищет и выводит на консоль те символы строки s, 
// которые встречаются в ней ровно один раз 
unsigned foo(const char* s)
{
  unsigned counts[SIZE] = {0}, total = 0;
  for (auto p = s; *p; p++)  counts[*p]++;
  for (auto idx = 0; idx < SIZE; idx++) 
    if (counts[idx] == 1)
      printf(" %c", idx), total++;
  
  return total;
}
 
int main()
{
  const char* s = "the quick brown fox jumps over the lazy dog";
  printf("\n$ Всего: %u\n", foo(s));    
  return 0;
}
0
Комп_Оратор)
Эксперт по математике/физике
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.03.2023, 00:12 5
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
29
30
31
32
33
#include <iostream>
#include <string>
#include <stack>
using namespace std;
bool is_brackets_test_passed(const string &str, char left_bracket='(', char right_bracket=')')
{
    stack<char> left_brackets;
 
    size_t len=str.size();
 
    for(size_t pos=0; pos<len; ++pos)
    {
        if(str[pos]==left_bracket)left_brackets.push(str[pos]);
        if(str[pos]==right_bracket)
        {
            if(left_brackets.empty())return 0;
            left_brackets.pop();
        }
    }
     if(left_brackets.empty())return 1;
     return 0;
}
 
 
int main()
{
    string good_string="this(is(a(good)string)with(well balansed)) brackets\n",
           bad_string="this(is(a(bad )) )string)with(wrong balansed)) brackets\n";
           bool good=is_brackets_test_passed(good_string) ;
           bool bad =is_brackets_test_passed(bad_string) ;
           cout<<good<<' '<<bad;//1 0
    return 0;
}
если применяются, одновременно различные пары скобок (например [], {} и пр.) то нужно чуть похитрее.
0
40 / 25 / 18
Регистрация: 05.05.2021
Сообщений: 49
12.03.2023, 08:43 6
Цитата Сообщение от IGPIGP Посмотреть сообщение
если применяются, одновременно различные пары скобок (например [], {} и пр.) то нужно чуть похитрее.
Если рассматривать вариант для одного вида пар скобок, то вместо стека можно обойтись простым счетчиком
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string_view>
 
bool f(std::string_view str)
{
    int cnt = 0;
    for(auto& c : str)
    {
        if(c == '(') ++cnt;
        if(c == ')') --cnt;
        if(cnt < 0) return false;
    }
    return !cnt;
}
 
int main()
{
    std::cout << std::boolalpha;
    std::cout << f("this(is(a(good)string)with(well balansed)) brackets\n") << "\n";
    std::cout << f("this(is(a(bad )) )string)with(wrong balansed)) brackets\n") << "\n";
}
0
Комп_Оратор)
Эксперт по математике/физике
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.03.2023, 11:25 7
Цитата Сообщение от OriRaven Посмотреть сообщение
Если рассматривать вариант для одного вида пар скобок, то вместо стека можно обойтись простым счетчиком
Я оговорил последнее имея ввиду тот факт что предлагаемое решение масштабируется. Ваше решение вполне правомерно. Студент имеющий семнашку сможет его использовать.
0
Вездепух
Эксперт CЭксперт С++
12798 / 6674 / 1796
Регистрация: 18.10.2014
Сообщений: 16,894
12.03.2023, 11:41 8
Цитата Сообщение от OriRaven Посмотреть сообщение
Если рассматривать вариант для одного вида пар скобок, то вместо стека можно обойтись простым счетчиком
Что именно и точно так же уже сделано в коде, приведенном ТС прямо в вопросе.
0
0 / 0 / 0
Регистрация: 03.03.2023
Сообщений: 6
12.03.2023, 15:15  [ТС] 9
Мой вопрос это программа, которая из заданного предложения выбирает и печатает те символы, которые встречаются в нем ровно один раз. (скобки)
Приведённая мною программа только проверяет баланс открывающих и закрывающих скобок - "()".
0
Злостный нарушитель
9619 / 5209 / 1190
Регистрация: 12.03.2015
Сообщений: 24,612
12.03.2023, 15:20 10
Цитата Сообщение от Gyfsurdi Посмотреть сообщение
Мой вопрос это программа, которая из заданного предложения выбирает и печатает те символы, которые встречаются в нем ровно один раз.
Ну я теба написал такую программу. Чо не так-то?
0
Комп_Оратор)
Эксперт по математике/физике
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.03.2023, 15:50 11
Здесь стояли койки, устланные ворсистыми, как собачья шерсть, одеялами, с одной стороны которых фабричным способом было выткано слово «Ноги» /12 стульев, Ильф и Петров/

Gyfsurdi я хочу спросить вот тут:
Цитата Сообщение от Gyfsurd Посмотреть сообщение
Мой вопрос это программа, которая из заданного предложения выбирает и печатает те символы, которые встречаются в нем ровно один раз. (скобки)
Существует ли по вашему мнению, какая-то вербально выразимая связь между основным предложением и словом в скобках?
Если да, то к её описанию, прошу раскрыть также и связь кода который вами приведен и вышеизложенным.
0
Вездепух
Эксперт CЭксперт С++
12798 / 6674 / 1796
Регистрация: 18.10.2014
Сообщений: 16,894
12.03.2023, 20:04 12
Цитата Сообщение от Gyfsurdi Посмотреть сообщение
Мой вопрос это программа, которая из заданного предложения выбирает и печатает те символы, которые встречаются в нем ровно один раз. (скобки)
Чего???? С чего бы это вдруг в вашей программе скобки будут встречаться "ровно один раз"? Никакого "один раз" там и близко нет. Никакого отношения ни к какому "один раз" ваша программа не имеет.
0
12.03.2023, 20:04
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
12.03.2023, 20:04
Помогаю со студенческими работами здесь

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

Подпрограммы: Из заданного текста выбрать и напечатать те символы, которые встречаются в нем ровно один раз
Доброго времени суток, господа. Часто посещаю ваш форум, но прямое общение понадобилось только...

Из заданного текста предложения выбрать и напечатать только те символы, которые встречаются в нем только один раз
В файле а набран текст. 1) Из заданного текста предложения выбрать и напечатать только те символы,...

Из заданного текста выбрать и напечатать те слова, которые встречаются в нем ровно один раз
Программа по итогу выдаёт &quot;buy buywards garry&quot;, хотя &quot;buy&quot; встречается несколько раз. Помогите,...

из заданного текста выбрать и написать те символы которые встречаются в нём ровно один раз
Помогите Написать программу : из заданного текста выбрать и написать те символы которые...

Из заданного предложения выбрать символы, которые встречаются в нем только один раз
Из заданного предложения выбрать и вывести на экран только те символы, которые встречаются в нем...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru