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

Баланс скобок - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчет гласных.согласных,знаков препинания в тексте http://www.cyberforum.ru/cpp-beginners/thread31416.html
скажите,пожалуйста..где у меня ошибка....программа считает совершенно неправильно( (кусок из программы) { m_Out=0; CString s=m_Edit1; while (!s.IsEmpty()) { int i=s.FindOneOf(". :;,!?'"); if(i<0)
C++ Вычислить сумму отрицательных элементов массива В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread31412.html
Функция возвращает массив C++
Как сделать чтобы функция возвращала массив(не исползуя указатели):(. К присмеру: ... char v; // //заполнение массива // return v; ...
Тормозит Borland C++ 3.1 C++
У меня Windows XP, этот компилятор почему-то тормозит систему..
C++ решить РГР http://www.cyberforum.ru/cpp-beginners/thread31392.html
Проекционный Экран. Экран монитора представляет собой плоскость от которой на растоянии L1 и L2 удалены слайд с произвольным символом и источник света. Отобразить на экране проекцию слайда если он расположен под углами а1 и a2 к экрану соответсвенно в вертикальной и горизонтальной плоскости. Необходимо иметь возможность изменять углы наклона слайда в реальном времени. Вот так меня на РГР...
C++ Найти номера элементов массива i и j, дающих минимальную разницу значений Xi-Yj Даны два массива: и . Найти номера элементов массива i и j, дающих минимальную разницу значений Xi-Yj. напечатать эти элементы и их номера. Х= k=8 Y= n=12. Помогите пожалуйста, никак не получается :((( подробнее

Показать сообщение отдельно
влад-мармелад
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 22
24.04.2009, 19:44     Баланс скобок
Добавьте плиз условие чтоб )(-говорило что не баланс..я прост незнаю
Код
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAXVAL 100

struct stack {
int sp;
int val[MAXVAL]; /* массив под скобки */
} mystack;

/* push: добавить элемент в стек */
void push(int c)
{
if(mystack.sp < MAXVAL)
mystack.val[mystack.sp++] = c;
else
printf("error: stack is fulled!\n");
}

/* pop: взять элемент из стека */
int pop(void)
{
if(mystack.sp > 0)
return mystack.val[--mystack.sp];
else
return EOF;
}

main()
{
FILE *fp;
int c,
marker = '!', /* маркер */
br1, br2, isbr; /* счетчики скобок */

mystack.sp = 0;
isbr = br1 = br2 = 0;
if( (fp = fopen("in.txt", "r")) == NULL) {
printf("error: can't open in.txt");
getch();
return 0;
}
while((c = getc(fp)) != EOF && c != marker) /* добавление скобок в стек */
if(c == '(' || c == ')') {
push(c);
isbr = 1;
}
while((c = pop()) != EOF) { /* извлечение скобок из стека */
if(c == '(')
br1++;
else if(c == ')')
br2++;
}
if(br1 != br2 && isbr != 0)
printf("\n\tUnbalanced brackets.");
else if(isbr == 0)
printf("\n\tNo brackets.");
else
printf("\n\tBalance.");
fclose(fp);
getch();
return 0;
}
эта программа проверяет баланс скобок скажите как можно сделать чтобы скобки )(-говорило что не баланс???не используя библиотеку стринг и списки..)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru