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

Правильное написание скобок - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конкатенация индексов четных элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread32550.html
<Составить упорядоченный по убыванию одномерный массив, содержащий конкатенацию индексов четных элементов, повторяющихся три раза в массиве I(11,10) вещественных чисел.> Пожалуйста, помогите...
C++ Матрица Заполнить матрицу соответственно образцу http://www.cyberforum.ru/cpp-beginners/thread32549.html
C++ Сортировка
Для выполнения задачи используется два одномерных массива целых чисел А и В (количество элементов в массиве может быть изменено). Создать одномерный массив С, который содержит элементы в единственном...
C++ Поиск
Для выполнения задачи используется два одномерных массива целых чисел А и В (количество элементов в массиве может быть изменено). Создать одномерный массив С, который содержит элементы в единственном...
C++ Как прочитать текст из файла и записать его в vector ? http://www.cyberforum.ru/cpp-beginners/thread32532.html
ifstream in("input.txt"); char ch; vector <char> c; for (;in>>ch;) { c.push_back(ch); cout << c; //????????
C++ Сортировка В массиве А каждый элемент изменяется в пределах от 0..20. Отсортировать по возрастанию. С помощью быстрой сортировки.:scratch: подробнее

Показать сообщение отдельно
Gram
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 4

Правильное написание скобок - C++

03.05.2009, 18:33. Просмотров 1013. Ответов 2
Метки (Все метки)

Уважаемые эксперты!
Памагите разобраться.... надо чтобы при вводе любого математического выражения проверялось правильное написание скобок... всмысле того что если скобка открыта то она длжна быть закрыта где то в выражении ... я сделал так но при вводе )))((( прога показывает что верно ... надо сделать проверку на равенство открывшихся скобок и закрывшихся...

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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int flag=0;
int z=RichEdit1->Lines->Text.Length()-2;
 
for (int i=1; i<=z; i++)
{
if (RichEdit1->Lines->Strings[0][i] =='(')
flag--;
 
if (RichEdit1->Lines->Strings[0][i] ==')')
flag++;
 
if (RichEdit1->Lines->Strings[0][i] =='[')
flag--;
 
if (RichEdit1->Lines->Strings[0][i] ==']')
flag++;
 
 
}
 
if (flag==0)
ShowMessage("Правильно");
else
ShowMessage("Не правильно");
 
 
}
Да и еще есть проблема...
Задача
Изобразить на экране N кривых-эвольвент, образованных точкой, лежащей на прямой, обкатывающейся по окружности без скольжения. Каждая эвольвента строится при обкатывании по дуге в 2пи/N угловых градусов.
как ваааще делать ее ???? ума не преложу... можете подсказать..?(очень прошу )
С уважением Дмитрий.

Добавлено через 1 час 4 минуты 3 секунды
ну с первой мне помогли....

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
const char s1[2]={'(',')'};
const char s2[2]={'[',']'};
 
int main()
{
int s1c=0,s2c=0;
string str;
int i;
bool err=false;
bool s1b=false,s2b=false;
 
cout<<"Vvedite stroku: \n";
cin>>str;
 
for(i=0;i<str.length();i++)
 {
  if(str[i]==s1[0]) 
   {
    s1c++;
    s1b=true;
    s2b = false;
   }
  if(str[i]==s1[1])
   {
    s1c--;
    if(s2b==true) err=true;
    s1b=false;
   }
  if(str[i]==s2[0]) 
   {
    s2c++;
    s2b = true;
    s1b = false;
   }
  if(str[i]==s2[1]) 
   {
    s2c--;
    if(s1b==true) err=true;
    s2b=false;
   }
 }
 
if(s1c==0 && s2c==0) cout<<"Balans skobok ne narushen\n";
else 
 {
  if(s1c!=0)
   {
    cout<<"Narushen balans skobok tipa '"<<s1[0]<<s1[1]<<"'\n";
    if(s1c<0) cout<<"Izbytok '"<<s1[1]<<"'("<<-s1c<<")\n";
    else cout<<"Izbytok '"<<s1[0]<<"'("<<s1c<<")\n";
   }
  if(s2c!=0)
   {
    cout<<"Narushen balans skobok tipa '"<<s2[0]<<s2[1]<<"'\n";
    if(s2c<0) cout<<"Izbytok '"<<s2[1]<<"'("<<-s2c<<")\n";
    else cout<<"Izbytok '"<<s2[0]<<"'("<<s2c<<")\n";
   }
 }
 
if(err) cout<<"\nSkobki rasstavleny neverno!\n"; 
 
getch();
return 0;
}
А вот со второй просто проблема.... помогите пожалуста...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.