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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что вернет функция? http://www.cyberforum.ru/cpp-beginners/thread740645.html
Задача была на НОД. Есть разные способы его нахождения, но вот столкнулся с данным кодом и не понимаю как он работает. Насколько я знаю, функция возвращает один аргумент. Что вернет функция в данном...
C++ неправильный цикл for class anketa: public fio, public svedeniya { public: friend void run(anketa object1, int n); double sort(anketa *,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); первый ввести с клавиатуры, а второй задать начальной... подробнее

Показать сообщение отдельно
TrueBit
96 / 96 / 12
Регистрация: 19.11.2012
Сообщений: 195
21.12.2012, 04:24
i - для получения i-го символа в исходной строке, count для определения скобок str2[j]='\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
27
28
29
30
31
32
#include <iostream>
using namespace std;
 
int main(){
    //char str[]="My (st(ri)ng)name is (Durak)Croessmah";//мания величия )))
    char str[]="My (st(ri)ng)name is (Durak)(C((roe(s)sm)a)h)";
    char str2[100]; // максимальная длина 100 символов
    int i=0; // счетчик для исходной строки
    int j=0; // счетчик для строки в которую будет запись
    count=0; // счетчик для скобок
 
    while(str[i]) { // пока str[i], т.е, пока str[i]!='\0', '\0' - означет конец строки
        if(str[i]=='(') { // если всретили открывающую скобку
            count++; i++; // говорим, что count++ и переходим к просмотру следующего символа
            while(count || str[i]=='(') { // цикл, пока все скобки не закрылись(когда count станет равен нулю, либо пока идут открывающие скобки)
                if(str[i]=='(') { // если очередной символ открывающая
                    count++; i++; // увеличиваем счетчик скобок на 1 (из цикла не выйдем пока все скобки не закроются)
                } else if(str[i]==')') { // если закрывающая
                    count --; i++;       // отпускаем из count одну скобку и переходим к следующему символу
                } else {
                    i++;                 // если очередной символ не открывающая и не закрывающая скобка
                }                        // то переходим к слудующему сиволу
            }
        }
        // вышли с цикла по count => прошли очередные вложеные скобки
        str2[j]=str[i]; i++; j++; // тогда пишем символ после скобок в новую строку str2[i]
    }
    // когда просмотрим все символы первой строки(выйдем из основного цикла)
    str2[j]='\0'; // пишем в конец второй строки завершающий символ(j будет на нужном месте после выхода из цикла)
    cout << "str2 = " << str2; // печать новой строки, полученной из первой
    getchar(); //задержка
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru