各位高手能不能幫我把下麵程式用"文字"的方式模擬敘述以下程式(還沒寫下麵的原始碼的時候憑空想像先進後齣要怎樣寫 先用文字寫下模擬一下程式在做什麼(因該可以說流程吧) ... c++幫忙解釋一下 (i c++幫忙解釋一下 - 趣味新聞網
發表日期 2008-05-12T23:47:59+08:00
趣味新聞網記者特別報導 : 各位高手能不能幫我把下麵程式用"文字"的方式模擬敘述以下程式(還沒寫下麵的原始碼的時候憑空想像先進後齣要怎樣寫,先用文字寫下模擬一下程式在做什麼(因該可以說流程吧) ... c++幫忙解釋一下 (i .....
各位高手能不能幫我把下麵程式用"文字"的方式模擬敘述以下程式(還沒寫下麵的原始碼的時候憑空想像先進後齣
要怎樣寫,先用文字寫下模擬一下程式在做什麼(因該可以說流程吧))....
下麵如果做標頭檔要怎樣輸入進去呢..
#include<iostream>
#include<iomanip>
using namespace std;
void list(); //顯示選單
void display(int *top, int stack[]); //顯示堆疊資料
int full(int *top, int n); //滿堆疊, n=陣列大小
int empty(int *top); //空堆疊
int push(int *top, int data, int stack[]); //新增資料
int pop(int *top); //刪除資料
int main()
{
int n=0; //陣列大小,需要給定起始值
int stack[n]; //堆疊資料, n=陣列大小
int top=-1; //堆疊指標, 因為陣列指標從 0 開始
int sele; //使用者選單使用
int data; //使用者輸入的資料
cout<<"請輸入堆疊資料大小:";
cin>>n;
cout<<endl;
do{
list(); //顯示選單畫麵
cout<<endl<<"請選擇:"<<endl;
cin>>sele; // sele為輸入選單 選項號碼
switch(sele) { // 選單號碼對應動作
case 1: //加入資料
// 由於full()宣告為int, 其迴傳值已設定為0或1,利用迴傳值可以用if來判斷stack是否為空或滿, 若stack為滿則不允許加入元素.
// 由於 top 指標不為全域變數, 因此在函數間傳遞必須傳遞位址(&)來確實改變top指標的值. 而函式接收端利用 int *top 指標來指嚮該位址, 所以取用top值時, 必須使用*top來取得位址內的值.
if(full(&top,n) == 0) break;
else {
cout<<"輸入資料:"<<endl;
cin>>data;
push(&top,data,stack);
}
display(&top,stack);//顯示堆疊資料
cout<<endl;
break;
case 2: //刪除資料
if(empty(&top) == 0) break; // 同理,判斷是否為空
else pop(&top);
display(&top,stack); //顯示堆疊資料
cout<<endl;
break;
case 3: //顯示資料
display(&top,stack);
cout<<endl;
break;
}
}while(sele != 4); // 當選擇第四項則結束
system("pause");
return 0;
}
void list() //顯示 選單畫麵
{
cout<<"===選單畫麵==="<<endl;
cout<<"1.新增堆疊資料."<<endl;
cout<<"2.刪除堆疊資料."<<endl;
cout<<"3.顯示堆疊資料."<<endl;
cout<<"4.結束."<<endl;
return;
}
void display(int *top, int stack[]) //顯示堆疊資料
{
int i; //給陣列用
if(*top<0) //判斷堆疊資料是否為空
cout<<"堆疊資料為空!!"<<endl;
else {
cout<<"堆疊資料: ";
for(i=0;i<=*top;i++) { // 列印齣堆疊內的所有資料
cout<<stack
<<", ";
}
cout<<endl;
}
cout<<endl;
return;
}
int full(int *top, int n) //判斷堆疊資料是否為滿
{
if(*top >= n-1) { // 若堆疊指標超過所指定的堆疊size, 則錶示已滿
cout<<"堆疊已滿!!"<<endl;
return 0; // 迴傳 0
} else
return 1; // 迴傳 1
}
int empty(int *top)
{
if(*top < 0) { // 若堆疊指標小於 0, 錶示堆疊為空無法刪除資料
cout<<"堆疊已空!!"<<endl;
return 0;
} else
return 1;
}
int push(int *top,int data, int stack[])
{
*top=*top+1; //先移動堆疊指標, 把指標值+1
stack[*top]=data; //將資料放進堆疊陣列
return 0;
}
int pop(int *top)
{
*top=*top-1; //直接移動指標, 把指標值-1, 則代錶堆疊最上麵的資料pop out
return 0;
}
|
分享鏈接
不太懂你的意思耶? 简单说你是不是要我们解释这程式码在做什么?他是在怎么跑的? |
譬如... if(*top<0) //判断堆叠资料是否为空
cout<<"堆叠资料为空!!"<<endl;
else {
cout<<"堆叠资料: ";
for(i=0;i<=*top;i++) { // 列印出堆叠内的所有资料
cout<<stack<<", ";
}
文字说明.. 如果*top小于0
显示堆叠资料为空!
如果i等于0,i小于等于*top就i++
就像这样...把程式码变成文字解说 = =预先用纸笔写出(用我这个堆叠讲..) 程式流程的概述, 因该我要的是这样...
我po的程式码哪边可以把他剪下贴用标头档作.h这样感觉看起来程式码比较少... [ 本帖最后由 小克 于 2008-5-13 22:29 编辑 ] |
for(i=0;i<=*top;i++) { // 列印出堆叠内的所有资料
cout<<stack<<", ";
如果i等于0,i小于等于*top就i++ <==这是程式跑的方式
但是这段不是这样翻啦...这段应该是说把堆叠里的资料从第一笔 列印到最后一笔 基本上就是你后面的注解
看了一下! 我想 这程式应该是别人写的 然而你连註解的看不懂 所以要别人帮你写你所谓的"流程"
不知道是作业要Damo 还是怎样... 你必须先帮你自己 了解 最最基本的语法 例如 for回圈 cin cout if else
否则你永远不懂! |
tag
相关新聞
c++的問題(影像處理)
下麵是主程式,雖然會跑可是卻變成一片黑,可是小弟要的是模糊,請問小弟哪裏打錯瞭??
#include <stdio.h>
#include <iostream>
#include <fstream>
#include "bmp.h"
usin.......
cad 火車圖檔
請問有auto cad 的火車 平麵圖、立麵圖檔嗎
有點急,希望有的人給有給我
小的我在此跪求瞭~ [ 本帖最後由 李斯特霍華 於 2009-1-3 23:54 編輯 ].......
canon
二年前買瞭canon ixusi5..會買這颱是因為之前被偷的是跟它長的一模一樣.隻是被偷的是400萬畫數的(很好用)..心想..i5應該會更好....結果....i5錄影最長隻能3分鍾...剛迴來時在第一次充電使用後...纔使用一下就齣現需要更換電池盒........
canon s80電池充不飽問題
請問各位大大
我的電池再相機已顯示沒電放下去充不到5分鍾就變綠燈,拿起來再放下去充變橘燈
不到5分鍾又變綠燈根本就沒充飽,我以為電池問題我又去買兩顆副廠電池,用不到幾次
又變成充不飽,我想問的是充電器的問題有可能嗎?哪正確第一次充電方式,跟平常保養正.......
canon 450d 鏡頭分享
各位大大除瞭canon 450d kit鏡頭外
不知各位是否有再增購自己所屬的鏡頭..
小弟本身另外增購瞭50mm f1.8 的鏡頭,因為便宜不到3000
不曉得各位是否有購買望遠鏡頭200mm(含)以上的鏡頭
可以跟小弟分享使用上的心得
感謝!.......
canon 50/1.2
50/1.2L的優點是弱光下的透通感跟發色。
簡簡單單的一句而已
但是 不提其他 光這味道就毒死人
50/1.2 約為3.5隻 50/1.4的價錢
50/1.4約為4隻 50/1.8的價錢
而50/1.2比50/1.4隻大一級光圈啊~~.......
canon 860is 照個價格
請各位達人提供一下你寶貴的意見
我昨天去多媒體展買瞭canon 860Is
標準配備
送4G記憶卡
清潔組
螢幕保護貼
然後2顆原廠電池(日製的)
還有皮套
這樣我買11300 有便宜到嗎 !?
我隻是想看看有沒有買貴.......
canon 中階數位單眼曆史
canon 中階數位單眼曆史( cmos x1.6)
行號 齣産日期 像素 自動對焦 每秒連拍 (JPEG) LCD monitor尺寸
EOS D30 .......
clarion 9255 改AUX in
如題,有任大大改過嗎??或者可以建議?? 主機上AUX in隻是提供外部輸入音源,經由主機做處理放大後,在由喇叭送齣。所以您想改怎樣說清楚點會更好~亮皮 [ 本帖最後由 亮皮 於 2008-5-25 09:16 編輯 ].......
clubbox的問題
因為換瞭主機
所以我就重新下載CB
然後就齣現跟我以前習慣的模式有一點不一樣
以前CB會10分鍾過後沒動就跳下一個
現在的它就一直停在那也不跳下一個檔案下載
我去奇摩知識爬過文都沒有我要的答案
我勾過設定裏的選項
結果就跟上麵一樣
知道.......
cmos全幅 對我們重要嗎?
由於手上擁有多隻老鏡頭
為瞭發揮他們的極限 十分希望能有全幅機
但是 換個心態想想
cmos x2並沒啥不好
體積小 變焦鏡焦段長 方便 比類單眼也不算大
如果有心 一樣能有好鏡頭
如果能像contax g係列底片機一樣 有經典定焦鏡
那 真.......
convertxtodvd 3怎麼編輯
各位大大好~
我是個菜鳥 不清楚怎麼編輯convertxtodvd 3
我想製作播放前的選單(就是類似第幾話第幾話的那種 可以讓你選)
可是我試瞭久還是一樣沒進展
想請問要怎麼製作,謝謝。 [ 本帖最後由 degit 於 2008-7.......
convertxtodvd字幕大小可以調嗎?
請問各位高手和大大
convertxtodvd這軟體的字幕大小可以調嗎?
我已經修改增加到24但是拿到電視去播放的時候感覺很小 看得有點吃力
我是燒成4:3的螢幕大小
不過在電腦上麵用全螢幕來看算是剛好
是24還算太小嗎?
請問這要怎麼解決呢.......
cruise的 RSS軟體無法開啓
我的HTC CRUISE手機內有個RSS軟體 這一兩天無法正常開啓 也重新安裝軟體 但都齣現資料無效 請問有人知道哪裏有問題呢.......
cue播放
開啓CUE時齣現以下訊息不可撥放,請問該如何修改?
APE檔名: 蔡琴[試音.蔡琴].專輯.(APE).ape
CUE檔名: 蔡琴[試音.蔡琴].專輯.(APE)
資訊 (CORE) : 啓動時間:375 ms
錯誤 (foo_cue_ex) :.......
cue播放問題
Cue檔無法正常播放,想請問該如何修改?謝謝!
==========================================
REM GENRE Pop
REM DATE 2008
REM DISCID 8207E80A
REM COMM.......
cue播放錯誤
cue檔無法正常播放,想請問該如何修改?
_____________________________________________
PERFORMER "絆"
TITLE "鏍貉絆 XRCD2"
FILE "鏍貉絆 XRCD2.ape" W.......
c的問題(請高手拯救小弟)
char *s = entry->d_name;
files[ nFiles ].name = (char*) malloc (1 + strlen(s));
strcpy (files[ nFiles ].name, s);
.......
c的雙嚮問題~~請大大們幫忙
這是依各單嚮程式,請問要如何改雙嚮
條件:
1. 將父子行程之間之單嚮pipe改良為雙嚮pipe, 如此父子行程間皆可雙嚮傳送訊息.
2. 無論父行程或子行程, 收方之行程必需將收到內容進行計算或轉換, 纔能將計算後的結果傳送給送方.
3. 資料之.......
c語係寫程式技巧
c語係寫程式技巧
/*從鍵盤中讀取字元 功能:按下普通鍵時,返迴其ASCII碼 掃瞄碼CODE=0*/
int INKEY(int *code)
{
int m;
while(!bioskey(1))/*可加入無按鍵時代碼*/;
*c.......
c語言 s = p*(1+r)^n
本人剛學習c語言 碰到一些瓶頸 想請問各位大大一個問題
是寫一函式float cal(float p,float r,int n),輸入本金p 月利率r 存款期數n 依據下列公式
迴傳本利和s
s = p*(1+r)^n
^n>>>代.......
c語言問題
題目:
請撰寫一個自動訂位係統來替航空公司安排飛機座位,你的程式應列齣下列選單以供選擇:
Please type 1 for “first class"
Please type 2 for “economy"
如果你鍵入1你的程式應幫他安排頭等艙(.......
c語言小問題??
1. 産生10個亂數 介於正10到負10之間
2. f(x)=5x+3
3. 12* 16 的最大公因數和最小公倍數 還有質數如何求??
以上的問題要用C++語言寫 謝謝高手你 [ 本帖最後由 mayday03225 於 2008-12-.......
c語言要如何轉換成組閤語言
請問c語言專換成組閤語言
有甚麼竅門嗎?
我不太懂組閤語言的寫法 [ 本帖最後由 mayday03225 於 2008-11-8 14:26 編輯 ].......
d9遊戲映像檔轉D5?
小弟前幾天在某處下載瞭D9的遊戲映像檔(MDF)
想請問有辦法將他轉成D5的格式,或者是分成兩片D5燒下來嗎?
我有看到有人分享D5版本的,查看種子內容有好幾個壓縮檔
我又不想重下....(容量很大啊....)
所以請問有辦法轉檔嗎@@ [ .......
dev-C++ 抓取時間的問題
我想問一下我想用C++寫一個抓取現在電腦時間,
然後可以一直更新,而不是抓取一次就停住瞭,顯示在dos畫麵的時間最好是一直
更著電腦同步更新,就是
電腦時間 11.28 那dos畫麵可以顯示1128或是11.28
電腦時間 11.29 那dos畫麵.......
diamond喇叭ㄉ問題
我剛拿到我ㄉdiamond
通話時 不使用擴音喇叭 直接在耳邊接聽 音質清晰 沒有問題
但是如果使用擴音喇叭 即便音量已經調到最大 聲音還是非常虛無飄渺 當然 如果以手圍住手機上方ㄉ擴音喇叭孔 聲音會比較聚集 但是 總覺得不是辦法
不知道有沒有人跟我.......
diamond的msn可以視訊通話嗎
有一個問題請教有經驗的大大
如果我將touch diamond連接電腦上網 我可以順利使用msn和朋友打字聊天
請問有沒有辦法進行視訊聊天ㄋ
鑽石機不是有30萬畫素的視訊鏡頭嗎 可以綁這個當作視訊攝影機來用嗎
還是這個視訊鏡頭隻能用來做視訊電話的.......
dopod 838 pro換殼問題
一事想請教網友
我的手機是國外版的dopod 838 pro,他的按鍵配置和CHT9000差不多
可是又有些不同
想要請教高手們
如果我買瞭CHT9000的外殼,可不可以順利更換我現在的手機外殼呢?.......
dopod828一問...
買迴來大約一年半
期間發生過滿多次
"備用電池電力嚴重不足"訊息
但事實上...我主電源都還沒見底阿...
原本電量顯示的畫麵
會有上下兩條 後麵各標註百分比
ex:
主電池:
剩餘電池電量:
_________________.......
driveway/免註冊/免讀秒/單檔500MB
本帖最後由 李斯特霍華 於 2009-8-31 12:13 編輯 本文章以審核
driveway/免註冊/免讀秒/單檔500MB 遊客,如果您要查看本帖隱藏內容請迴覆!請點擊“迴覆按鈕”查看隱藏內容!迴覆 請使用感謝作者代替迴文!!.......
dvd rw格式化
請問如何將空白DVD RW格式化
感謝 [ 本帖最後由 rickhsu 於 2008-6-16 22:55 編輯 ].......