括號匹配和檢查程式
1樓:網友
從你的**可以看出,你想在開始將『[』壓棧,作為結束條件。
在迴圈中採集每次的輸入字元,如果不匹配,則壓棧輸入字元;如果匹配,為『]』字元,則將棧中所有字元全部出棧。
上面**的主要問題是迴圈條件的判斷的問題,你可以分析下。
下面是我在你的**基礎上進行了小小修改後的**,提供給你參考下。(儲存為cpp檔案,用c++編譯測試通過)。
#include
#include
#include
#define true 1
#define false 0
#define ok 1
#define error 0
typedef char selemtype;
typedef int status;
#define stack_init_size 100#define stackincrement 10typedef struct _sqstacksqstack;
status initstack(sqstack &s)status stackempty(sqstack &s)main()
elsefflush(stdout);
pop(s, e);
printf("");
釋放棧。if(stackempty(s))
return true;
elsereturn false;}
括號匹配檢驗程式
2樓:網友
樓主的main函式我實在看不懂寫的是什麼,這裡有個正確的程式,樓主可以參考下。
3樓:全能騎士
部下樓主你用的是哪本書。我倒有一本可以幫你解決這個問題!
c++括號匹配檢驗
4樓:匿名使用者
用棧來做:
#include
#include
using namespace std;
void main()
else}if(*s == ')')
else}}s++;
if(!invalid = 1;
if(invalid)
cout<<"括號不配對!"<>i;}
c++ 括號匹配檢測
5樓:匿名使用者
建立乙個結構體。
struct 記錄;
記錄下括號所在的位置,作為棧的元素型別。出錯的時候把行數輸出就行了。
6樓:網友
自行實現乙個棧操作~~~
遇到左半邊入棧,遇到右半邊出棧並檢查,不匹配的這個地方就找出來了。
原string的修改無非就是在這個錯誤的地方後面新增乙個唄;
資料結構 括號匹配的檢驗 c++
7樓:何處淬吳鉤
直接使用棧就可以了。左括號入棧,遇到右括號取棧頂元素,看是否同類匹配(都為【】或都為())匹配則出棧,繼續掃瞄後面的表示式,若不匹配則表示式非法。
我編寫的**如下:
#include
#include
using namespace std;
void main()
else}if(*s == ')')
else}}s++;
if(!invalid = 1;
if(invalid)
cout<<"invalid!"<>i;}
8樓:網友
把所有 符號 都標誌乙個 數值,比如【為1,】為2,(為3,)為4,最好用棧來做演算法,乙個棧存字元,乙個棧存括號,讀取符號,如果是1或者3, 就直接進棧,如果是 2,4,棧內出乙個數,進行匹配, 如果是2,出來1的話,程式繼續,否則錯誤,如果是4,出來3的話,程式繼續,否則錯誤,直到程式讀完符號,和棧出完為止,符號讀完,棧沒完,也是錯誤的。
星座血型配對問題,十二星座血型配對
雙魚和白羊 配對評分 70 還蠻不錯的一對 星座比重 54 46 解析 雙魚座是古老輪迴的結束,白羊座卻是開始,一老一小,好比祖孫的感覺,有人說結束是另一個階段的開始,所以這兩個星座在冥冥中好似有某些傳承的相連性。祖孫情 的組合,對魚兒來說 還不錯,只要您能容忍羊兒的粗線條和我行我素。身為易感浪漫的...
工作人員W的西瓜調查 問題
沒有這個任務啊.你直接去西瓜田裡打西瓜 打到5個西瓜就直接去交給本部的那個男人.這樣就行了嘛.不然我當時是怎麼拿游泳圈的的.嘿嘿.你可以查查 騎士團是不能做這個任務的我也是沒看 就先弄了5個西瓜 結果發現原來騎士團不能做這個任務 而且我看別人帖子說想得 到 最強工作人員鞋子 是需要那個游泳圈的 這樣...
部門決算真實性核查問題怎樣整改,部門決算中財務管理和會計核算方面的問題以及改進建議
一 按照國家財務制度的規定,認真編制並嚴格執行財務計劃 預算,遵守各項收入制度,費用開支範圍和開支標準,分清資金渠道,合理使用資金,保證完成財政上繳任務。二 按照國家會計制度的規定 記賬 算帳 報帳,做到手續完備,內容真實,數字準確,賬目清楚,日清月結,按期報帳。三 按照銀行制度的規定,合理使用貸款...