資料結構 問題 D 點圓運算

2021-10-17 07:35:04 字數 1496 閱讀 9680

題目描述

設計乙個點類point,包含私有屬性x座標和y座標,操作包括

2、析構函式,把x座標和y座標都清0,並輸出資訊「point clear」

3、設定(setxy),接受外來輸入,並設定x座標和y座標

4、獲取x座標,直接返回x值

5、獲取y座標,直接返回y值

設計乙個圓類circle,包含私有屬性:圓心座標x和y、半徑r;操作包括:

1、建構函式,接受外來輸入,設定圓心x座標、y座標和半徑

2、析構函式,將圓心座標x和y以及半徑都清零,並輸出"circle clear"

輸入第一行輸入乙個點的x座標和y座標,用point類去建立乙個點物件,並且自動通過建構函式來初始化

第二行輸入n,用point類去建立乙個點物件陣列,包含n個點

第三行起輸入n行,每行輸入乙個點的x和y座標,使用設定(setxy)來設定每個點的x和y座標

接著一行輸入三個引數,表示乙個圓的圓心座標x和y,以及半徑,使用circle類去建立乙個圓物件,並自動通過建構函式來初始化

輸出通過呼叫圓的包含(contain)方法,判斷每個點是否在圓內。

按照點的輸入順序,每行輸出乙個點的判斷結果,如果包含則輸出in,不包含則輸出out

說明:當乙個物件陣列是動態建立的,那麼在程式結束時,這個陣列是不會被**。只有增加**delete p,才會**陣列。

!!本題目不要求**陣列!!

-------------------

樣例輸入

5 23

4 79 9

2 43 3 3

樣例輸出

inout

outin

circle clear

point clear

#include

using namespace std;

class point

point

(float a,

float b):x

(a),

y(b)

~point()

void

setxy

(float x,

float y)

float

getx()

float

gety()

};class circle

~circle()

intcontain

(point &p)};

void

test()

cin>>x>>y>>r;

circle c1

(x,y,r)

;//判斷第乙個點

if(c1.

contain

(p1)

) cout<<

"out"

"in"

for(

int i=

0;iintmain()

資料結構 d 堆

d 堆 二叉堆因為實現簡單,因此在需要優先佇列的時候幾乎總是使用二叉堆。d 堆是二叉堆的簡單推廣,它恰像乙個二叉堆,只是所有的節點都有d個兒子 因此,二叉堆又叫2 堆 下圖表示的是乙個3 堆。注意,d 堆要比二叉堆淺得多,它將insert操作的執行時間改進為 然而,對於大的d,deletemin操作...

資料結構與基本運算

複習篇 1.資料型別 numeric 包含integers 整數型 和double precision 雙精度型 預設是雙精度型資料 character 這種資料形式是夾在雙引號或單引號之間的字串.logical 取true or false complex 形如a bi型的複數 raw 原始型 二...

資料結構 知識點

定義 度 兒子數 分支節點 除了根和葉子的節點 根的深度為1 資料結構的分類 資料結構分為邏輯結構和物理結構。邏輯結構 表現資料之間的關係的一種資料結構,分為線性結構和非線性結構。物理結構 表現資料如何儲存的一種資料結構,通常分為順序結構 鏈式結構 索引結構和雜湊結構。有序表,也叫有序線性表,資料按...