Uploaded by я спер

іспит про

advertisement
1. Багатовимірні масиви.
2. Макроси. Директива #define
3. Задача. Скласти функцію, яка з рядка S1 будує новий рядок S2
видаленням з S1 всіх символів, що розташовані між дужками (...).
Врахувати, що кількість відкритих і закритих дужок може бути різною.
#include <iostream>
#include <Windows.h>
#include <string>
#include <stdio.h>
using namespace std;
#include <iostream>
string removeBetweenParentheses(const std::string& s1) {
string s2; // Створюємо порожній рядок s2, в якому будемо зберігати результат
bool insideParentheses = false; // Змінна, що вказує, чи знаходимося ми всередині дужок
for (char c : s1) { // Проходимо через кожен символ у вхідному рядку s1
if (c == '(') { // Якщо знаходимо відкриваючу дужку
insideParentheses = true; // Встановлюємо прапорець, що ми знаходимося всередині
дужок
}
else if (c == ')') { // Якщо знаходимо закриваючу дужку
insideParentheses = false; // Знімаємо прапорець, що ми знаходимося всередині
дужок
}
else if (!insideParentheses) { // Якщо не знаходимося всередині дужок
s2 += c; // Додаємо поточний символ до результуючого рядка s2
}
}
return s2; // Повертаємо результат - рядок s2 без символів, що знаходяться між дужками
}
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string s1 = "Сьогодні (20 червня) ми святкуємо День народження нашого друга Максима. Він
виповнює (вказати вік) років. Бажаємо йому (вказати побажання) і багато щастя у житті"; //
Вхідний рядок s1
string s2 = removeBetweenParentheses(s1);
cout << "S2: " << s2 << endl;
return 0;
}
Download