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

Работа со строками на С++ проверка на согласованность скобок. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Прямоугольники http://www.cyberforum.ru/cpp-beginners/thread85561.html
Четырехугольник ABCD задан координатами своих вершин на плоскости: A(Xa,Ya),B(Xb,Yb),C(Xc,Yc) , D(Xd,Yd).Проверить являетса ли он выпуклым. Замечания: Есть несколько способов проверки выпуклости: анализ линейных неравенств,задаваемых сторонами;разбиения четырехугольника на треугольники со сравнением сумм их площадей и другие. Пожалуйста помогите. Добавлено через 10 часов 18 минут...
C++ Вот такая интересная штука на C написать программу нахождения совершенных чисел в диапазоне от 1 до 1000000 (миллион). Как, пока мне не понятно, если кто знает подскажите. http://www.cyberforum.ru/cpp-beginners/thread85559.html
C++ Как подобрать ActiveX элемент.
Добрый день. Помогите выбрать элемент управления, который, который будет схож с этим: http://www.cyberforum.ru/attachment.php?attachmentid=18527&stc=1&d=1263414169 в общем нужна таблица с простым, интуитивно понятным управлением. И с возможностью формировать содержимое ячеек напрямую.
поправить C++
есть задача только надо сделать с указателями на функцию. #include <iostream.h> #include <math.h> #include <stdlib.h> double sum(int X, int y); double kol(int T, int u); void main() { const int M=5; const int N=5;
C++ Умножить матрицу на себя транспонированую http://www.cyberforum.ru/cpp-beginners/thread85530.html
Буду краток: необходимо Умножить матрицу на себя транспонированую!!!(без хранения транспонированной) Как в вышмате это сделать я понимаю, а вот на С как это выглядит, не пойму!!! Кто чем может_)))
C++ РАБОТА С ВИРТУАЛЬНЫМИ ФУНКЦИЯМИ Доброго времени суток, форумчани! Помогите мне, пожалуйста, с задачей, у меня просто нет этой темы, а сдать нужно обязательно :( Напишите, пожалуйста, хотя бы классы в общих чертах, как использовать виртуальную функцию? Вот моё задание: Создать абстрактный базовый класс с виртуальной функцией - площадь поверхности. Создать производные классы: параллелепипед, тетраэдр, шар со своими... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.01.2010, 02:43     Работа со строками на С++ проверка на согласованность скобок.
Ниже представлены функции возвращающие false, если количество открывающихся и закрывающихся скобок не совпадает.
Вариант 1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool IsCorrect(const char* expr)
{
  int open_bracket_count = 0;
  int expr_len           = strlen(expr);
 
  for(int i = 0; i < expr_len; ++i)
    switch(expr[i]){
      case '(': 
        ++open_bracket_count;
        break;
     
      case ')':
        --open_bracket_count;
        break;
    }
     
  return open_bracket_count == 0;
}
Вариант 2:
C++
1
2
3
4
5
6
7
8
#include <algorithm>
 
bool IsCorrect(const char* expr)
{
  int expr_len = strlen(expr);
     
  return std::count(expr, expr + expr_len, '(') == std::count(expr, expr + expr_len, ')');
}
 
Текущее время: 11:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru