史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   我寫不出來老師的題目 ....... (http://forum.slime.com.tw/thread191867.html)

baronterry 2006-11-20 10:48 PM

我寫不出來老師的題目 .......
 
可以請大大教一下怎麼寫嗎??
我不行了可是我禮拜三就要交了(泣):56gtyhu:

給一個中置運算式 (以課本定義為準),字串長度不會超過50。將運算式中的正號轉為字串 #,負號轉為字串$,其餘不變。
Input

第一行為數字 n,代表運算式 token數 (token 是運算子或是運算元或是左括號或是右括號)。例如 -A*B 表示有4個 tokens : -、 A、*、和B。
接者n行為運算式,一行一個 token
Output

一行印出整個運算式。

Sample Input

4
-
A
*
B
Sample Output

$A*B
Sample Input

4
A
*
-
B
Sample Output

A*$B
Sample Input

9
A
+
-
(
-
B
-
A
)
Sample Output

A+$($B-A)
感恩大大了........小弟感激不盡:ahhh:

snoopy 2006-11-21 03:57 PM

使用字元陣列 char array[];
用回圈走訪
逐一比對ascii碼:face29:

baronterry 2006-11-21 07:54 PM

恩...我讓你看一下我寫的

// 比對括號是否相配合
int main()
{
string s1;
int i , len ;
stack<int> s ;
// 由左至右處理左括號和右括號
for ( i = 0; i < len; i++ ) {
if ( (s1[i] == '(') || (s1[i] == '[') || (s1[i] == '{') )
s.push(i) ;
else if ( (s1[i] == ')') || (s1[i] == ']') || (s1[i] == '}') )
if( s.empty() ) {
cout << "在第 " << i << " 的位置少了配對的左括號" << endl ;
break ;
} else
s.pop() ;
}
if( i == len )
if ( s.empty() )
cout << "括號相配" << endl ;
else
cout << "在第 " << s.top() << " 的位置沒有相對應的括號" << endl ;
system("PAUSE");
return 0;
}

那裡有問題阿@@" 我快冏了= =||
麻煩你了~~<( ̄﹌ ̄)@m


所有時間均為台北時間。現在的時間是 03:00 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1