括號配對檢查問題,括號匹配和檢查程式

2025-01-04 00:35:14 字數 2031 閱讀 3664

括號匹配和檢查程式

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個西瓜 結果發現原來騎士團不能做這個任務 而且我看別人帖子說想得 到 最強工作人員鞋子 是需要那個游泳圈的 這樣...

部門決算真實性核查問題怎樣整改,部門決算中財務管理和會計核算方面的問題以及改進建議

一 按照國家財務制度的規定,認真編制並嚴格執行財務計劃 預算,遵守各項收入制度,費用開支範圍和開支標準,分清資金渠道,合理使用資金,保證完成財政上繳任務。二 按照國家會計制度的規定 記賬 算帳 報帳,做到手續完備,內容真實,數字準確,賬目清楚,日清月結,按期報帳。三 按照銀行制度的規定,合理使用貸款...