第十七章 17 3 4節練習

2021-06-26 04:16:08 字數 1145 閱讀 4633

練習17.24

編寫你自己版本的重排**號碼格式的程式。

解答:這個參考書中實現。

練習17.25

重寫你的**號碼程式,使之只輸出每個人的第乙個**號碼。

解答:

#include #include #include #include using namespace std;

using namespace std::regex_constants;

int main();

string phone = "(\\()?(\\d)(\\))?([-. ])?(\\d)([-. ])?(\\d)";

regex r(phone);

smatch m;

string s, first;

string fmt = "$2.$5.$7";

for (int i = 0; i != 3; ++i)

}

練習17.26

重寫你的**號碼程式,使之對多於乙個**號碼的人只輸出第二個和後續**號碼。

解答:

#include #include #include #include using namespace std;

using namespace std::regex_constants;

int main();

string phone = "(\\()?(\\d)(\\))?([-. ])?(\\d)([-. ])?(\\d)";

regex r(phone);

smatch m;

string s;

string fmt = "$2.$5.$7";

for (int i = 0; i != 3; ++i)

cout << endl;

} else

}}

練習17.27

解答:

string post_code = "(\\d)([-])?(\\d)?";

regex r(post_code);

string fmt = "$1-$3";

cout << regex_replace(str, r, fmt) << endl;

其他部分參考**號碼的實現。

第十七章 17 1 1節練習

練習17.1 定義乙個儲存三個int值的tuple,並將其成員分別初始化為10 20和30。解答 include include int main 練習17.2 定義乙個tuple,儲存乙個string 乙個vector和乙個pair。解答 include include include inclu...

第十七章 17 1 2節練習

練習17.4 編寫並測試你自己版本的findbook函式。解答 實現參考書中實現。練習17.5 重寫findbook,令其返回乙個pair,包含乙個索引和乙個迭代器pair。解答 typedef pair size type,pair const iterator,vector const iter...

第十七章 17 3 1節練習

練習17.14 編寫幾個正規表示式,分別觸發不同錯誤。執行你的程式,觀察編譯器對每個錯誤的輸出。解答 這個就不一一枚舉出來了。如果正規表示式寫錯,在執行時程式會在編譯表示式的時候直接崩潰。練習17.15 編寫程式,使用模式查詢違反 i在e之前,除非在c之後 規則的單詞。你的程式應該提示使用者輸入乙個...