二維陣列練習19 腫瘤檢測

2021-08-07 12:52:36 字數 1064 閱讀 7546

/*

name: 19_腫瘤檢測

author: 巧若拙

description:

描述一張ct掃瞄的灰度影象可以用乙個n*n(0 < n <= 100)的矩陣描述,矩陣上的每個點對應乙個灰度值(整數),

其取值範圍是0-255。我們假設給定的影象中有且只有乙個腫瘤。

在圖上監測腫瘤的方法如下:如果某個點對應的灰度值小於等於50,則這個點在腫瘤上,否則不在腫瘤上。

我們把在腫瘤上的點的數目加起來,就得到了腫瘤在圖上的面積。

任何在腫瘤上的點,如果它是影象的邊界或者它的上下左右四個相鄰點中至少有乙個是非腫瘤上的點,則該點稱為腫瘤的邊界點。

腫瘤的邊界點的個數稱為腫瘤的周長。現在給定乙個影象,要求計算其中的腫瘤的面積和周長。

輸入輸入第一行包含乙個正整數n(0 < n <= 100),表示影象的大小;接下來n行,每行包含影象的一行。

影象的一行用n個整數表示(所有整數大於等於0,小於等於255),兩個整數之間用乙個空格隔開。

輸出輸出只有一行,該行包含兩個正整數,分別為給定影象中腫瘤的面積和周長,用乙個空格分開。

樣例輸入

699 99 99 99 99 99

99 99 99 50 99 99

99 99 49 49 50 51

99 50 20 25 52 99

40 50 99 99 99 99

99 99 99 99 99 99

樣例輸出

9 8*/

#include using namespace std;

const int n = 100;

int a[n][n];

int x[4] = ;//行座標變化,從上方開始

int y[4] = ;//列座標變化,從上方開始

int isborder(int n, int i, int j);

int main() }

for (int i=0; i=0 && r=0 && c50)

return 1;

} return 0;

}

二維陣列練習

1 建立乙個稱作array2d 的類,在main 方法中宣告乙個稱作twod的變 量,型別為int二維陣列,第一維長度為4。2 建立乙個元素型別為int的陣列,該陣列應包括4 個元素並被賦值到變數twod 0 3 編寫兩個巢狀for 迴圈語句以列印twod 的全部值,以矩陣的格式輸出。4 編譯並執行...

字元陣列練習及二維陣列練習

1.輸入乙個英文單詞順序,反轉句子中單詞的順序,但單詞內字元的順序不變。例如輸入 i am a student 輸出 student a am i public static void reverse string str student a am i string result for int i...

C 二維陣列類練習

include include using namespace std class array2 int main cout endl cout next endl array2 b b a for i 0 i 3 i cout endl return 0 首先上面 說明a有乙個私有成員二維陣列 p...