Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
advokat
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
#1

Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками - C++

20.12.2009, 02:27. Просмотров 1736. Ответов 10
Метки нет (Все метки)

Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками '(' ')'.Сами скобки не удалять.Если хотя бы одной скобки нет-сообщить об этом.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 02:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками (C++):

Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками ( ) - C++
Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками ( ). Сами скобки не удалять. Если хотя бы...

Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками (** ) - C++
2. Распечатать введенную строку, исключив из нее те символы, которые находятся между скобками (** ). Сами скобки не удалять. Если хотя...

1. Вывести введенную строку, исключив из нее те символы, которые находятся между скобками ( ) и сами скобки - C++
Помогите

Строки: удалить все символы, которые размещены между скобками - C++
Помогите пожалуйста. Без понятия как это сделать. Удалить из заданной последовательности все символы которые размещены между скобками...

Распечатать введенную строку, заменив строчные буквы прописными - C++
Задача 10. Распечатать введенную строку, заменив строчные буквы прописными и повторив дважды каждую цифру.

Найти символы между скобками и вывести их на экран - C++
Здравствуйте, Уважаемые форумчане) Возникла проблема, с которой хочу обратиться к вам. Задали сделать программу (последую лабу ради...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
20.12.2009, 02:35 #2
А на каком языке?
0
advokat
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
20.12.2009, 16:41  [ТС] #3
на С++

Добавлено через 9 часов 59 минут
Помогите!!!!!!!!

Добавлено через 42 минуты
Очень срочно

Добавлено через 3 часа 22 минуты
помогите кто нибудь
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.12.2009, 16:49 #4
дайте примеры не совсем понял условие..
0
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
20.12.2009, 17:13 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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 <conio.h>
#include <malloc.h>
using namespace std;
  
int main()
{
    char *str=(char*)malloc(128);
    cin >> str;
 
    bool p=true;
    while (*str!='\0')
    {
          if (*str=='('){cout << *str++;p=false;}
          if (*str==')'){cout << *str++;p=true;}
          if(p)cout << *str++;
          if(!p)str++;
    }      
    getch();
    return 0;
}
1
advokat
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
20.12.2009, 17:13  [ТС] #6
ну вот надо самому ввести какие то символы, а которые символы находятся в скобках их удалить, скобки не удалять и сделать проверку на скобки, если одной скобки нету то вывести ощибку
0
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
20.12.2009, 20:51 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
как ошибку обработать сам подумай, не ленись

Добавлено через 3 часа 19 минут
advokat, напиши суть пробелмы. и не в личку, а сюда в тему. тебе код на Си а не на С++ нужен что ли?

Добавлено через 10 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
 
int main()
{
    char *str=(char*)malloc(128);
    scanf("%s", str);
 
    int p=true;
    while (*str!='\0')
    {
          if (*str=='('){printf("%c",*str++);p=false;}
          if (*str==')'){printf("%c",*str++);p=true;}
          if(p)printf("%c",*str++);
          if(!p)str++;
    }
    if(!p)printf("\nError in input, no ')'");
    getch();
    return 0;
}
0
advokat
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
20.12.2009, 22:43  [ТС] #8
мне нужен код на С++ только нормальный, мы просто начили только изучать С++ и я не понимаю ваш код, а вот там с Printf и всякое такое я более мение понимаю

Добавлено через 10 минут
Это программа не удаляет символы с скобках, а мне надо чтобы когда пользователь ввел какую нибудь строку, а в этой строке он еще поставил ( ) и в них че нибудь ввел, вот то что он ввел в скобках внутри надо удалить, а если он не постаил хотябы одной скобки вывести ошибку на экран
0
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
20.12.2009, 22:50 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
ну если ты не понимаешь, то должен загуглить и понять!
единственное что может показаться тебе сложным, это
C++
1
char *str=(char*)malloc(128);
тут заводим указатель на char, (небольшое отступление: char занимает всего 1 байт - самое мальенокое адресуемое пр-во памяти, поэтому его используют для всего подряд, например для побайтного копирования ложной структуры или еще чего не очевидного. вот и я выбрал char только ради того чтобы он указаывал на первый байт выделенной области см. далее) которому в мы присваеваем адрем области памяти выделеной командой malloc, 128 - это количство байтов в области.

проще говоря, для задачи надо считать строку, но какой длены она будет зарание не известно. поэтому я сразу определил область размером в 128 байт для записи туда строки. апотом просо прошелся по стороке, как по массиву, считывая символы из неё (в цикле while()). Условие выхода из цикла *str!='\0' т.к. любая С-строка заканчиватся нуль-символом, комп автоматически ставит его в конце любой строки после завершения стандартного ввода в неё.

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
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
 
int main()
{
    char *str=(char*)malloc(128);
    scanf("%s", str);
 
    int outbkt=true;
    int nobkt=true;
    while (*str!='\0')
    {
          if (*str=='('){printf("%c",*str++);outbkt=false;nobkt=false;}
          if (*str==')'){printf("%c",*str++);outbkt=true;}
          if(outbkt)printf("%c",*str++);
          if(!outbkt)str++;
    }
    printf("\n");
    if(!outbkt)printf("Error: in input, no ')'\n");
    if(nobkt)printf("Error: no brekets was in input line");
    
    free(str);
    getch();
    return 0;
}
ну теперь как?
1
advokat
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
20.12.2009, 23:27  [ТС] #10
все равно не так работает, ну вот нап. ввел я строку "фывфоыап(выфлдвофы)фыарф" вот то что я ввел в скобках мне надо удалить, а все остальное оставить без изменения. Теперь понятно условие???
0
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
21.12.2009, 07:19 #11
advokat, прога точно так и работает! Введи латинские буквы.
я вводил что то вроде:
asasjfs(asvasdlsa)aoslndvasd
прога вывела:
asasjfs()aoslndvasd
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2009, 07:19
Привет! Вот еще темы с ответами:

Работа со строками. Удалить символы между скобками () - C++
Работа со строками. Удалить символы между скобками (), включая сами скобки. Язык С++.

Возвести в квадрад отрицательные элементы, которые находятся на главной диагонали и выше нее. - C++
Если не трудно, то подскажите. вот дана матрица n*n и мне надо возвести в квадрад отриц. элем., которые находятся на главной диагонали и...

Из заданной строки исключить символы равосположенные между скобками [ ] - C++
Дана строка символов. Исключить из этой строки группы символов, расположенные между скобками . Сами скобки тоже должны быть исключены....

Исключить все символы между круглыми скобками, включая сами скобки - C++
исключить все символы между круглыми скобками, включая сами скобки. Рассмотреть случай вложенных скобок.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.12.2009, 07:19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru