c 括號匹配檢驗,c 括號匹配檢驗

2022-12-19 07:10:54 字數 2647 閱讀 3854

1樓:匿名使用者

#include

#include

#include

using namespace std;

int main()

s.pop();

}else s.push(str[i]);

}cout << endl;

return 0;}

2樓:匿名使用者

用棧來做:

#include

#include

using namespace std;

void main()

else

st.pop();

}if(*s == ')')

else

st.pop();}}

s++;

}if(!st.empty())

invalid = 1;

if(invalid)

cout<<"括號不配對!"<>i;}

括號匹配問題c++,需要具體配對~實在不想寫給個思路也行。

3樓:匿名使用者

用stack資料結構, ( push, ) pop, 記錄位置等資料

4樓:阿彌陀佛

用棧來儲存左括號啊,遇見一個左括號就進棧,遇見一個右括號就退棧啊,就與退棧出來的值配對了。

c++ 資料結構 判斷一個字串中括號是否匹配

5樓:濮方雅

思路是遇到左括號就入棧,碰到右括號就判斷棧頂的元素是否匹配的左括號,不是的話就返回false,是的話就彈出棧頂元素,然後繼續下一個字元。判斷函式如下:

bool is_comm_stack(char const* src)

}else

return false;

case ']':

if(!s.empty())

}else

return false;

case '}':

if(!s.empty())

}else

return false;

default:

break;

}++p;

}if(!s.empty())return false;

return true;}

6樓:匿名使用者

樓下正解,這是個典型的先進後出模型。

編寫c/c++函式,驗證一個字串形式的表示式中的括號是否匹配,其中括號包括圓括號、方括號和花括號。

7樓:匿名使用者

c的話,大概的思路是 用陣列接收字串,按順序提取出各種括號(if語句),左邊的放一起,右邊的放一起(可以用棧儲存,要是沒學過用陣列也行),然後就開始匹配(用個迴圈,左右兩邊要匹配,要是有一組不成功則直接return),當然,你可以自己在開始迴圈之前設定一些篩選條件,例如兩邊總數不一樣肯定就不匹配了,直接return掉……可以自己試試

8樓:我叫屈永播

資料結構的程式吧!要用自己寫的棧

用c或c++編寫 括號配對檢查程式

9樓:匿名使用者

思路倒是簡單,就是利用棧來匹配。簡單的資料結構應該包括 符號型別(區分小中大括號),括號出現在字串的位置這些。

讀入字元,如果是左括號,則入棧,如果是左註釋/則看後面是否有*如果有,則一直到×/才結束。如果是有括號,則看是否跟棧上匹配,如果匹配,則把這個括號左右位置和型別放入一個陣列什麼的,以備後面使用者檢索對應位置。如果不匹配,則有錯誤。

到最後,棧應該為空,否則也是不匹配。具體**編寫需要考慮更多情況,比如不能越過字元陣列邊界等。

隨風的**沒有處理註釋,另外,沒有記錄符號配對位置。還有好像只能處理括號了,不太符合題意要求

關於c++圓括號檢查是否匹配

10樓:匿名使用者

如果單純匹配括號數量的話就沒錯,不過其實一個變數就可以了,左括號+1,右括號-1,最後等於0就說明是匹配的

如果真正要做表示式的話那沒這麼簡單的,比如 ((1+2)+)2 這樣的表示式

11樓:匿名使用者

if (k>i) break; 能否執行???退出迴圈的標識應該只能有一個,那就是遇到“;”,代表一行完整的輸入,這其中,只需要對左右半括號進行計數就可以,退出迴圈再加以判斷即可。

12樓:知秋小楓

for語句,在()中間有分號。這個得考慮一下。

求一個c++括號匹配的程式(資料結構版)

13樓:彼方

c++的具體語法忘得差不多了。給你個思路好了。希望對你有所幫助。

1.準備一個 棧。 2.

逐字元掃描輸入的字串。 2.1 如果是則檢測 棧頂是否是{。

如果是,則把棧頂的{彈出,繼續檢測輸入字串的下一個字元,如果不是則出現不匹配,報錯。 2.3 如果是]或),則類似2.

2 的處理。 3.如果輸入字串的字元都掃描完了,無報不匹配的錯誤,則還要檢查棧是不是為空。

如為空,則檢測通過。如不為空,則出現不匹配。

C實參括號中有大括號是什麼意思,C 如何判斷一個大括號對應的大括號

分開來。canvas.shapes.add 這裡面的引數要填一個物件例項。下面這個就是建立物件例項了,且同時對例項裡的2個屬性rectangle userdata賦值 newbox 新增一個物件,例項化時,對部分屬性進行賦值 c 如何判斷一個大括號對應的大括號 工具 選項 環境 字型和顏色 在 顯示...

c語言if語句後有大括號和沒大括號有什麼區別

1 句式不同 if語句後用括號 括起來組成的一個語句稱複合語句。在程式中應把複合語句看成是單條語句,而不是多條語句。如 大括號中的幾條單語句是一個整體,是一條複合語句。2 語句邏輯不同 if語句後有大括號的複合語句執行邏輯是整體執行的,只要if條件成立,括號中的幾條語句都會執行,如果沒有大括號,只會...

東風本田CRV的節氣門怎麼匹配,東風本田CRV的節氣門怎麼匹配

1.確認加速踏板完全釋放。2.將點火開關轉至on 位置。3.將點火開關轉到 off 位置,等待至少10 秒。此時通過節氣門的動作聲音來確認節氣門動作超過10 秒。3.起動發動機暖機至正常工作溫度。4.檢查並確認水溫等情況都正常。5.關閉點火開關,等待至少10 秒。6.確定加速踏板完全釋放,將點火開關...