c 程式設計練習 037 函式物件的過濾器

2021-10-03 01:46:57 字數 1859 閱讀 1807

北大程式設計與演算法(三)測驗題彙總(2020春季)

程式填空輸出指定結果

#include

#include

using namespace std;

struct a a(

int n):v

(n);

bool operator<

(const a & a)

const};

// 在此處補充你的**

template

void

print

(t s,t e)

template

t2 filter

( t1 s,t1 e, t2 s2, t3 op)

}return s2;

}ostream & operator <<

(ostream & o,a & a)

vector<

int> ia;

vector aa;

intmain()

vector<

int>

ib(k)

; vector

ab(k)

; vector<

int>

::iterator p =

filter

(ia.

begin()

,ia.

end(

),ib.

begin()

,filterclass<

int>

(m,n));

print

(ib.

begin()

,p);

vector

::iterator pp =

filter

(aa.

begin()

,aa.

end(

),ab.

begin()

,filterclass

(m,n));

print

(ab.

begin()

,pp);}

return0;

}

輸入

多組資料

每組資料兩行

第一行是兩個整數 m 和 n

第二行先是乙個整數k ,然後後面跟著k個整數

輸出對每組資料,按原順序輸出第二行的後k個整數中,大於m且小於n的數

輸出兩遍

資料保證一定能找到符合要求的整數

樣例輸入

1 31 2

2 85 1 2 3 4 9

樣例輸出

2,2,

3,4,

3,4,

**guo wei

此處就是定義filterclass(m,n)模板而已,沒什麼難度

template 

class filterclass

bool operator (

)(t t)

};

但是還是有乙個小小注意點是,因為所給的函式只有<的過載,那麼我們也只能使用<符號,但是由於前面的定義m,n都是整型該怎麼比較物件大於m且小於n呢,這裡可別忘了可以建立臨時物件啊,如

struct a a(

int n):v

(n);

bool operator<

(const a & a)

const

};

以上**就為我們提供了臨時物件的建立,所以不用擔心<的問題。

037 函式物件的過濾器

描述 程式填空輸出指定結果 include include using namespace std struct a a int n v n bool operator const a a const 在此處補充你的 template void print t s,t e template t2 f...

c 練習 函式物件程式設計 發現富豪

題目 從billionaires中找到中國38 45歲 的億萬富翁!要求 1 讀取2進製檔案billion.bin,形成乙個vector的容器內容。2 使用for each遍歷vector容器內所有元素,呼叫find billion china 38,45 列印出滿足要求的所有富翁。3 上述find...

C 物件導向程式設計上機練習一(函式過載)

time limit 1000ms memory limit 65536kb submit statistic problem description 利用陣列和函式過載求5個數最大值 分別考慮整數 單精度 長整數的情況 input 分別輸入5個int型整數 5個float 型實數 5個long型正...