1 / 1 / 0
Регистрация: 17.03.2009
Сообщений: 17
|
||||||
1 | ||||||
Баланс скобок в файле29.03.2009, 23:25. Показов 2889. Ответов 15
Метки нет (Все метки)
Помогите чем сможите
0
|
29.03.2009, 23:25 | |
Ответы с готовыми решениями:
15
Баланс фигурных скобок в файле Проверить баланс скобок в текстовом файле Баланс скобок Баланс скобок |
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
||||||
30.03.2009, 00:29 | 2 | |||||
1)Чтение данных (строки) в буфер идет вне цикла
2) если так и нужно (текст имеет длину менее 81+\0), то цыкл и проверка 3) Если все должно так быть (тест менее 82 символов) то проверку на пустоту предлагаю такую.
0
|
1 / 1 / 0
Регистрация: 17.03.2009
Сообщений: 17
|
|
30.03.2009, 00:43 [ТС] | 3 |
Код
#include<string.h> #include<conio.h> #include<stdio.h> int pkzs(char*,char); int main(void) { clrscr(); char s[82]; FILE *f; f=fopen("in.txt","r"); fscanf(f,"%s",s); int n; n=strlen(s); if(n==0) { printf ("File Pyct "; return 0;) int n1,n2; n1=pkzs(s,'('); n2=pkzs(s,')'); if(n1==n2) cout<<"Balans skobok est'"; else cout<<"Balansa skobok net'"; return 0; } int pkzs(char*s,char c) { int n=0; while(1) { s=strchr(s,c); if(s==NULL) break; s+=1; n+=1; } return n; } при таком коде как ты мне показал...всё равное если файл пуст прога высвечивает что баланс скобок есть...
0
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
||||||
30.03.2009, 00:56 | 4 | |||||
эх, все за вас делать должен Рабочий код:
0
|
1 / 1 / 0
Регистрация: 17.03.2009
Сообщений: 17
|
|
30.03.2009, 01:02 [ТС] | 5 |
спс чувак...долго я мучался с этой ерундой
0
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
30.03.2009, 01:04 | 6 |
как гритса -"Тяжело в учении-легко на сесии"
0
|
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
|
|
30.03.2009, 08:11 | 7 |
А алгоритм у Вас неправильный. Например, он найдет правильный баланс для строки ")("
0
|
1 / 1 / 0
Регистрация: 17.03.2009
Сообщений: 17
|
|
31.03.2009, 10:15 [ТС] | 8 |
Alexiski так это и должно быть балансом скобок ..число открывающихся равно числу закрывающихся.....проблема в том что всё работает но если файл тупо набить буквами то он их на экран подаёт ...а надо бы ошибку.
0
|
11 / 11 / 0
Регистрация: 31.03.2009
Сообщений: 69
|
|
01.04.2009, 11:27 | 9 |
Кстати, неправильно!
В строчке 13 пишешь мне кажется, IMHO, нужно вводить символы по одному и проследить ситуацию, когда символ ) встречается раньше, чем был хотя бы один ( и вести подсчет текущей вложенности скобок, как только, она станет отрицательна, значит аварийный выход, дальше скобки можно не считать, потому что появилась ) которая не открывалась. (Т.е. тут не нужно использовать строки, достаточно одного символа и счетчика вложенности, который то увеличивается, то уменьшается, а чаще остается неизменным) Если после ввода всего файла баланс опять!=0 то опять ошибка баланса main() должна возвращать 0 только если баланс =0, напр. 1 если баланс отрицательный, 2 если положительный, 4, если не удалось открыть файл
0
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
01.04.2009, 11:38 | 10 |
ну да, у себя я в компиляторе эту ошибочку поправил и условия немного поменял - но думал что автор темки сам поправит где надо(ну надо ж дать человеку подумать). А предложенный вами вариант - пробовал, немного иначе правда, вышло немного громоздко потому и не выкладывал код.
0
|
Заблокирован
|
||||||
01.04.2009, 13:02 | 11 | |||||
Alligieri, лови прогу. Честно твоя как-то длинно написана (я её чуток модернизировал)
0
|
Заблокирован
|
|
01.04.2009, 13:06 | 12 |
Чёто код мой в тегах побородился
Кидаю исходник
0
|
11 / 11 / 0
Регистрация: 31.03.2009
Сообщений: 69
|
||||||
01.04.2009, 13:41 | 13 | |||||
примерно так
0
|
1 / 1 / 0
Регистрация: 17.03.2009
Сообщений: 17
|
|
02.04.2009, 18:48 [ТС] | 14 |
Ребят на самом деле мне надо использовать string (по заданию) так же есть весьма интересная ошибка.....ввожу в файл простой набор букв и они подаются на экран....мне оч стало интересно почему и откуда может это высвечиваться на экран....так же если я ввожу (asdadasda) asd(asdada) то опять всё выводится на экран без вывода существования баланса....что можете посоветовать?
Добавлено через 8 минут 5 секунд сорри всё попутал юра спс....всё работает.
0
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
02.04.2009, 19:32 | 15 |
0
|
1 / 1 / 2
Регистрация: 01.04.2010
Сообщений: 46
|
||||||
05.04.2010, 16:13 | 16 | |||||
Вот мой вариант:
0
|
05.04.2010, 16:13 | |
05.04.2010, 16:13 | |
Помогаю со студенческими работами здесь
16
Баланс скобок Баланс скобок Баланс скобок Баланс круглых скобок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |