定義乙個point類,包括兩個私有屬性:int x, int y,它們分別表示乙個點的x和y座標。
再定義建構函式:
point(int x, int y),即傳兩個引數,構造乙個點物件。
定義乙個rectangle類,包括四個私有屬性:
int num, point topleft, int width, int height,
它們分別表示長方形的編號(長方形的編號不重複)、左上角頂點的座標,以及橫向的寬度和縱向的高度。
注意:在計算機系統裡,座標系如下定義:螢幕的左上角的座標是(0,0),x軸是橫軸,螢幕的最右端x值最大,y軸是縱軸,螢幕的最下方y值最大。圖如下:
再定義建構函式:
rectangle(int num, int x, int y, int width, int height)
以及例項方法:
int getarea() //獲取該圖形的面積
bool isin(point p) //判斷傳入的點是否在該圖形之內(不包括邊界),如果在內部返回true,否則返回false
定義乙個rectanglecollection類,包括兩個私有屬性:
rectangle rects[100]; //乙個包含長方形的陣列,最多100個元素
int count; //以上陣列中長方形的實際個數
還包括例項方法:
void addrectangle(rectangle r)//新增乙個長方形到陣列中,並count++
void deleterectangle(int num) //根據num從陣列中刪除乙個長方形(該長方形的編號等於num)
int inrects(point p)//根據傳入的p,判斷p位於rects陣列中的哪些長方形之內,返回這些長方形面積之和。
請根據自己的需要定義其它建構函式或者其它方法和屬性。
int main()
}return 0;
}可輸入多組測試資料,每組測試資料報含兩行:
第一行輸入乙個操作的種類,
1:增加乙個長方形
2:刪除乙個長方形
3:求包含某一指定點的所有長方形的面積和
第二行輸入所需要的引數:
對於第1個操作,第二行輸入長方形r的資訊,包括編號num,左上角頂點x座標、左上角頂點y座標、寬度、高度。
對於第2個操作,第二行輸入乙個編號num
對於第3個操作,第二行輸入乙個點p的資訊,包括其x座標和y座標。
所有輸入都為非負整數,之間以乙個空格分隔。無多餘空格或空行,兩組測試資料之間也無空行。
在輸入時,將保證不會向長方形集合中新增乙個編號(num)已經存在的長方形。
僅第3個操作有輸出,因此,測試資料中必然包含第3個操作。
第3個操作僅輸出乙個整數,佔一行。
如果有多個輸出,每個輸出佔一行,行首與行尾無空格,中間無空行。
11 4 4 4 4
13 3 3 3 3
12 2 3 5 4
35 523
35 5
13 3 3 4 4
35 5
453652
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
class point ;
point::point(int a, int b)
point::point(void)
int point::get_x(void)
int point::get_y(void)
void point::inside(int a, int b)
class rectangle ;
int rectangle::getnum(void)
rectangle::rectangle(void)
int rectangle::getarea()
bool rectangle::isin(point p)
rectangle::rectangle(int num, int x, int y, int width, int height)
class rectanglecollection ;
void rectanglecollection::addrectangle(rectangle r)
void rectanglecollection::deleterectangle(int num)
} return;
}int rectanglecollection::inrects(point p)
return all;
}rectanglecollection::rectanglecollection(void)
int main()
} return 0;
}
最小長方形
題目 給定一系列2維平面點的座標 x,y 其中x和y均為整數,要求用乙個最小的長方形框將所有點框在內。長方形框的邊分別平行於x和y座標軸,點落在邊上也算是被框在內。輸入 測試輸入包含若干測試用例,每個測試用例由一系列座標組成,每對座標 x y 佔一行,其中 x 和 y 小於 1000 一對 0,0 ...
最小長方形
題目描述 給定一系列2維平面點的座標 x,y 其中x和y均為整數,要求用乙個最小的長方形框將所有點框在內。長方形框的邊分別平行於x和y座標軸,點落在邊上也算是被框在內。輸入 測試輸入包含若干測試用例,每個測試用例由一系列座標組成,每對座標佔一行,其中 x 和 y 小於 231 一對0 座標標誌著乙個...
最小長方形
果然,自己的 和別人的 的差別,就是這麼大!所以以後,還是要好好練習,自己寫 先寫自己的,再看別人的,因為差別太大了。看著別人的 根本就不動腦子了。連簡單的都寫不出來了!看看吧,這就是差別!include include int a 1005 b 1005 int main int amax 240...