所屬科目:程式設計
一、給定 n x m(n 行 m 列)影像的各像素灰度值,灰度值為 0 至 255 之間的整數(包含 0 和 255) ,像素的相鄰性是指當前像素與周邊像素的鄰接性質,八鄰域(eight neighbors)包括對應當前像素位置的上、下、左、右、左上、右上、左下、右下像素位置,換言之,為原像素及其上下左右與對角線相鄰八個像素位置,如下圖所示:當對此影像進行降低雜訊的模糊化處理時:1.影像四周最外側的像素灰度值不變;2.影像中間各像素新灰度值由原像素及其八鄰域像素原灰度值的平均值(捨入到最接近的整數)取代原像素值。輸入資料第一行包含兩個整數 n 和 m,表示影像中像素點的行數和列數,1<=n<= 100,1<=m<= 100,接下來 n 行,每行 m 個整數,表示影像中每個像素灰度值。相鄰兩個整數之間用單個空格隔開,每個元素均在 0~255 之間。例如一個 5x6 影像及其各像素灰度值如下所示:5 6100 0 120 0 50 7050 110 200 0 0 18070 50 100 120 200 0150 120 50 50 100 1010 110 0 50 120 30請使用 Java 或 C++實作一完整程式,讀入一個影像行數、列數和像素灰度值,並使用八鄰域像素灰度值對影像進行降低雜訊的模糊化處理,再輸出模糊化後影像。 (20 分)
二、請問以 a(7,20)呼叫下列 a()函式,函式執行完後其回傳值為何?並需詳述執行過程。(20 分)i
三、若以 f(30)呼叫下列 f()函式,會列印出那些數字?(20 分)
四、給定下列程式,其中 t 被宣告為全域變數,請問程式執行後輸出為何?(20 分)
五、單鏈結串列(Singly Linked List)特點是鏈結串列的連結方向為單向,對單鏈結串列的訪問要通過從頭部開始,依序往下讀取,每個節點(node)包含兩部分:存儲數據的資料(data)和指向下一個節點的指標(pointer) ,節點定義如下:單鏈結串列中的所有節點通過指標串聯,最後一個節點的指標指向空值(null),表示單鏈結串列結尾。請使用 Java 或 C++實作一完整程式,通過從頭部(head)開始,依序往下讀取,訪問一單鏈結串列操作,輸出單鏈結串列中節點個數,若單鏈結串列中不存在任何節點,為一個空鏈結串列,則輸出-1。(20 分)