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

Удаление фрагмента из строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что вернет функция? http://www.cyberforum.ru/cpp-beginners/thread740645.html
Задача была на НОД. Есть разные способы его нахождения, но вот столкнулся с данным кодом и не понимаю как он работает. Насколько я знаю, функция возвращает один аргумент. Что вернет функция в данном случае? Вот кусочек кода. Не понимаю суть реторна. Спасибо. else if(x % 2 == 0 && y % 2 == 0) return 2 * nod(x / 2, y / 2); else if(x % 2 == 0 && y % 2 != 0) return nod(x /...
C++ неправильный цикл for class anketa: public fio, public svedeniya { public: friend void run(anketa object1, int n); double sort(anketa *,int n); // прототип функции сортировки по среднему балу double horoshist(anketa *,int n); // прототип функции вывод студентов у которых 4 и 5 }; double anketa::sort(anketa* ob2,int n) http://www.cyberforum.ru/cpp-beginners/thread740642.html
Не могу совладать - подскажите как формулу написать C++
хотя бы первую строку для примера
C++ Создать функцию, позволяющую выяснить, присутствует ли в строке введенная с клавиатуры буква (Использовать указатели)
помогите,пожалуйста! есть вот такие задания...ОЧЕНЬ надо на завтра... Задача 5. Ввести строку. Создать функцию, позволяющую выяснить, присутствует ли в строке введенная с клавиатуры буква. Если да, то заменить все её вхождения парой символов „$$”. Если этой буквы нет в строке, то вывести соответствующее сообщение. (Использовать указатели). Хоть что-то,если не сложно! ЗАРАНЕЕ СПАСИБО!!!
C++ Из матрицы получить массив, каждый элемент которого равен среднему арифметическому каждой строки матрицы http://www.cyberforum.ru/cpp-beginners/thread740615.html
Очень прошу помочь! Из 2мерной квадратной матрицы (7х7) получить 1мерный массив, каждый элемент которого равен среднему арифметическому каждой строки матрицы. это в с++ (работаю в Builder)
C++ Создать два массива. Вычислить количество тех элементов каждого массива, для которых выполняется неравенство: 2<элемент массива<10 помогите,пожалуйста! есть вот такие задания...ОЧЕНЬ надо на завтра... Задача 4. Определить два одномерных массива А(19) и В(16); первый ввести с клавиатуры, а второй задать начальной инициализацией. Используя собственную функцию, вычислить количество тех элементов каждого массива, для которых выполняется неравенство: 2<элемент массива<10. (Использовать указатели) Хоть что-то,если не... подробнее

Показать сообщение отдельно
Simkara
16 / 3 / 3
Регистрация: 26.11.2011
Сообщений: 92
21.12.2012, 01:07     Удаление фрагмента из строки
Дана идеальная строка, которая содержит равное кол-во открытых и закрытых скобок.
Требуется удалить содержимое скобок (скобки тоже удаляются).
Строку задать через Char s[100].

пример:
на входе 12(34)56(78)9
на выходе 12569

набросал код:
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
34
35
36
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    char *r,*l,s[100];
    int i,z=0,left,right;
    cin.getline (s,100);
    
    l=strchr(s,'('); 
    left=l-s;
    while (l=strchr(s,'('))
    {
         while (l=strchr(s,'('))
         {  
           r=strchr(s,')');
           right=r-s;
           if (right==left+1) 
           {
              strcpy(l,l+1);
              r--;
              strcpy(r,r+1);
              break;
           } 
           *l++;
           strcpy(l,l+1);
         }
    }              
    
    cout<<s; 
    
    cin.get();
    cin.get();
    return 0;
}
удаление производится по каждому символу в скобках, как только скобки сливаются "()" они идут на удаление и поиск начинается по новой

но есть проблема, программа хорошо работает если введена одна пара скобок, а при большем количестве программа почему то зацикливается, в чем может быть причина?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru