NTUE-CS102 板


LINE

說好3/31的時候要PO的程式碼 抱歉慢了幾天XD 看在期限延後大家就不要這麼在意了 哈哈 --- 先review一下問題(簡單版) 有兩個區域 跟六個方塊 分別堆成 ---┐ 1 │→[1]→[2]→[3]→NULL ---┘ ---┐ 2 │→[4]→[5]→[6]→NULL ---┘ 這次我用到的class class block { int data; block *next; public: int getdata() { return data; } void setdata(int d) { data=d; } block *getnext() { return next; } void setnext(block *n) { next=n; } }; 用的都是之前的東西 沒有新的 然後是main 首先把東西堆成一開始的樣子 int main() { // 準備兩個head(區域1,2) // 六個方塊(b[0]不用) // *p,*q是while那裡搜尋用的 block head1, head2, b[7], *p, *q; int i, x, y; // 把方塊上面設定數字 for(i=1;i<=6;i++) { b[i].setdata(i); } // 串起來! head1.setnext(&b[1]); b[1].setnext(&b[2]); b[2].setnext(&b[3]); b[3].setnext(NULL); head2.setnext(&b[4]); b[4].setnext(&b[5]); b[5].setnext(&b[6]); b[6].setnext(NULL); 這裡要很清楚 . 和 -> 的差別 setnext是block的函數 所以block的物件 例如 block a; 就要用 a.setnext(somethnig); 如果是block的指標 例如 block *p; 就要用 p->setnext(somethnig); 設定好之後 就是輸入x,y的無窮主迴圈 // cout cout<<"請輸入x,y 將方塊x移到區域y(x=1~6, y=1~2),"; cout<<"輸入0 0印出目前各區域上的方塊\n\n"; // 主迴圈 while(true) { cout<<"請輸入x,y 將方塊x移到區域y: "; cin>>x>>y; // 輸入0 0 if(x*y==0) { // 印出第一區 cout<<"1: "; p=head1.getnext(); while(p!=NULL) { cout<<p->getdata()<<" "; p=p->getnext(); } cout<<endl; // 印出第二區 cout<<"2: "; p=head2.getnext(); while(p!=NULL) { cout<<p->getdata()<<" "; p=p->getnext(); } cout<<endl; } // 不是0 0 else { // 假設要找的方塊x在第一區 p=&head1; while(p!=NULL && p->getdata()!=x) { q=p; p=p->getnext(); } // 找不到=>在第二區 if(p==NULL || p->getdata()!=x) { p=&head2; while(p!=NULL && p->getdata()!=x) { q=p; p=p->getnext(); } } // q是原本方塊前面的那個人, 通知他一下後面沒人了 q->setnext(NULL); // 看要移到哪區 找那區的最後一個人 if(y==1) p=&head1; else p=&head2; while(p!=NULL) { q=p; p=p->getnext(); } // 接上去! q->setnext(&b[x]); } } } 步驟很簡單 假設輸入 1,2 就是把 方塊1 移到 區域2 所以要 1. 先找到 方塊1 前面的人 接NULL 方塊1 可能在 區域1 或是 區域2 可以先假設它在 區域1 找不到 再找 區域2 找到她前面的人 再接NULL 2. 接著就串列跟插後面一樣 去 區域2(要移到的地方) 找最後面 接上 方塊1 3. 完成了 程式碼全部貼起來 就可以work了 這樣可以拿到一分 看懂用自己的方法寫 可以拿到2分 寫9區9方塊 可以拿到3分 作業該交的時間是星期三半夜 大家加油囉XD! --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.127.36.183
1F:→ borg110878:洗板XD 04/05 19:55
2F:推 j2612280:good~~ 04/05 21:22
3F:推 Arashinoon:我要趕回台北做了 GG 這台電腦沒有C++ 04/05 22:01
4F:→ j2612280:Dev-C++簡址 http://307.uuu.to/ 就是要宣傳一下XD~ 04/05 22:02
5F:推 Arashinoon:不想用你給的網址咧~~~~ 04/05 22:03
6F:→ yantchen:http://cssa.ntue.edu.tw/course/devcpp.exe 04/05 23:51
7F:推 suan710:樓上學長的網址快用 04/05 23:53
8F:→ j2612280:冏... 04/06 00:02
9F:推 joe989879:超棒!! 04/07 15:13







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP