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

Лабораторная для заочника - C++

Восстановить пароль Регистрация
 
blood148
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 2
25.10.2013, 09:17     Лабораторная для заочника #1
Здравствуйте, нужна помощь в написании программы.

Задано некое математическое выражение, проверить соблюдается ли равенство открывающихся и закрывающихся скобок. Если равенство соблюдается, то вывести соответствующее сообщение, в противном случае вывести количество открывающихся и закрывающихся скобок.

Вчера нашел на этом сайте похожую задачу, думал подстроить под себя, но ничего не получилось:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <string>
#include <stdio.h> 
#include <iostream> 
#include<cstdlib> 
using namespace std;  
int main () 
{    setlocale(LC_ALL, "Russian");
 char c;            
 int i=0;
 int g=0;
 cout << "Введите пример\n";    
{while(cin.get(c)&&c!='\n')           
if (c==')') g++;cout<<"\n"<<g;
if (c=='(') i++;cout<<"\n"<<i;}
 
if (g!=i) (cout<<"проверьте скобки"); else (cout<<"Все верно");
 
 
 
 system("PAUSE");   
return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 09:17     Лабораторная для заочника
Посмотрите здесь:

C++ c++ лабораторная
C++ Лабораторная работа
C++ лабораторная работа
лабораторная C++
C++ Лабораторная по массивам
C++ лабораторная по С++
C++ лабораторная по информатике

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
25.10.2013, 09:38     Лабораторная для заочника #2
И что Вас не устроило в результате.
Если не учитывать порядок простановки скобок,
то должно считать правильно.
p.s.
строки
#include <string>
#include <stdio.h>
#include<cstdlib>
не нужны.

Еще ошибка синтаксиса
надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while(cin.get(c)&&c!='\n')
{
     if (c==')') 
     {
         g++;cout<<"\n"<<g;
     }
     if (c=='(')
     { 
          i++;cout<<"\n"<<i;
      }
}
if(g!=i) 
    cout<<"проверьте скобки"; 
else 
    cout<<"Все верно";
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
25.10.2013, 13:03     Лабораторная для заочника #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string expr;
getline(cin, expr);
int cnt = 0;
bool fail = 0;
for(int i=0; i < expr.length(); ++i) {
    if(expr[i] == '(')
        ++cnt;
    else if(expr[i] == ')')
        --cnt;
    if(cnt < 0)
        fail = 1;
}
if(!cnt && !fail)
    cout << "OK" << endl;
else
    cout << "Sorry..." << endl;
Yandex
Объявления
25.10.2013, 13:03     Лабораторная для заочника
Ответ Создать тему
Опции темы

Текущее время: 14:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru