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

Задача : "Скобочки". - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ исправьте ошибки пожалуйста http://www.cyberforum.ru/cpp-beginners/thread392428.html
#include "stdafx.h" #include <math.h> float rec(float n) { if (n==1)return 0; else return log(n/(sqrt(n))+rec(n-1)); } int _tmain(int argc, _TCHAR* argv) { printf ("vvedite seloe n \n");
C++ Полноэкранное консольное приложение Здравствуйте! Вопрос состоим в следующем: как запустить консольное приложение в полноэкранном режиме? Есть ли какая-то функция для этих целей? Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread392424.html
Определить двух студентов с наивысшим средним баллом. C++
С текстового файла считать последовательность записей, содержащих данные о результатах сессии студентов группы в следующем формате: <Фамилия>, <Имя>,, <Список экзаменационных оценок>. Распечатать введенные данные в виде таблицы, Видсортуваваты данные по фамилиям студентов в алфавитном порядке. определить двух студентов с высоким средним баллом. Проблема в том что я еще не очень понимаю и...
одномерный массив C++
Удалить из массива М(26) первый положительный элемент. Пожалуйста!!! Вводить и выводить через printf и scanf. Использовать только библиотеки stdio. h, time.h, stdlib
C++ не могу понять с чего начать http://www.cyberforum.ru/cpp-beginners/thread392395.html
Написать программу содержащую 2 функции. Первая функция которая выводит на экран строку, состоящую из одинаковых символов располагается после функции main . вторая функция которая запрашивает длину строки и символ , располагается до функции main помогите написать прогу...
C++ Не правильно работает не подскажите что не так? #include <iostream> #include <conio.h> using namespace std; void Char(int n,int c ) { switch(n) { case 1: cout<<"\t\t\n\t*\t\n\t\t";break; case 2: cout<<"\t\t*\n\t\t\n*\t\t";break; подробнее

Показать сообщение отдельно
turtLe
3 / 3 / 2
Регистрация: 11.11.2009
Сообщений: 41
26.11.2011, 18:37     Задача : "Скобочки".
Некоторые скобочные структуры правильные, другие — неправильные. Ваша задача — определить правильная ли скобочная структура.

Вход: Слово в алфавите из двух круглых скобочек ( и ). Длина слова меньше 4001.

Выход: Либо 'NO', либо 'YES' без кавычек.

ВХОД #1:
()

ВЫХОД #1:
YES

ВХОД #2:
)(

ВЫХОД #2:
NO

ВХОД #3:
()(())()

ВЫХОД #3:
YES

http://acm.mipt.ru

Собственно вот мой код:
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
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
    string str;
    bool b;
    int  k;
    b=true;
    cin>>str;
    k = str.length();
    if ((str.length() % 2 != 0) || (str[0] == ')')) b = false;
    while ( ( k > 0 ) && b )
    {
        if ( str[0] == '(' )
        {
            for (int j = 1; j < k ; j++)
                str[j-1] = str[j];
            k--;
            for (int j = 0; j < k ; j++)
                if ( str[j] == ')' ) 
                {
                    for (int t = j ; t < k - 1 ; t++) 
                        str[t] = str[t+1];
                    break;
                };
            k--;
        } else b = false;
    }
    if ( b == true ) cout<<"YES"; else cout<<"NO";
    return 0;
}
На одном из тестов моя программа выдает неверный результат, сам найти ошибку в своем алгоритме я пока не смог, прошу помощи в этом деле
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru