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; }