作者cobrasgo (體重突破所有均線)
看板C_and_CPP
標題Re: [問題] C語言用*畫數字圖形
時間Tue Nov 9 00:49:58 2010
※ 引述《gn00742754 (西門貓)》之銘言:
: 嗯嗯,我是個洨大一,這次程設的題目實在是不會,想問問大家這該怎麼寫,
: 我的題目是
: 輸入兩個值
: 一個決定數字
: 一個決定一邊用幾個*
: 例如輸入3,7
: 就會輸出
: *******
: *
: *
: *******
: *
: *
: *******
: 三的邊邊都是7個*
: 就是說第一個數字決定圖形樣式
: 然後用第二個數字畫出n*n的盒子
: 在裡面弄出一個數字這樣~
: 這個我真的不懂該怎麼搞
: 請各位大大協助偶><
我有個想法,有錯請大家指正
就是先畫8,之後用擦的
因為8是所有數字的聯集
這個問題因為要考慮第2個數字是奇數或偶數
所以先畫8的話就同時知道要擦哪幾個點
假設現在後面的數字是4,則所有的點是這樣
* * * *
* * * *
* * * *
* * * *
假設左上角為(0,0),右下角為(3,3)
若我們的8要使用上面那一條
則長這樣
* * * *
* * * *
* *
* * * *
所以現在所有數字的每一個部份我們都有了
8這個數字我們可以分成7條線
由左而右為
1. (0,0)-(0,1)
2. (0,1)-(1,3)
3. (0,0)-(3,0)
4. 以下類推…
所以7的話就是把
(0,0)-(0,1)
(0,1)-(0,3)
(0,1)-(1,3)這3條線擦掉
這個演算法的重點就是在你定義8的時候
這7條線也同時被定義
而之後apply的就是擦哪幾條線(這裡和幾個點就無關了)
目前想到最方便的做法是這樣
有錯請大家指正
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.243.148.241
推 ilway25:我想到 7-segment 11/09 00:56
→ loveme00835:XD 不過可延展喔! 11/09 00:58