Essencial C 第三章學習記錄即習題

2021-09-29 16:06:17 字數 2039 閱讀 4620

在這一章的內容中,集中介紹了泛型指標 iterator等泛型程式設計風格,說白了就是讓我們的程式有更好的通用性,在這章的內容中,比較不好理解的是函式物件 function object,這裡我給出兩個大佬的部落格,看完之後可以有初步的了解

下面給出課後習題的一些做法,本人c++小白,歡迎指點,編譯環境 vs2015

1. 寫乙個讀取文字檔案的程式,將檔案中的每個單字存入map。map的key是單字,value是單字在文字檔案**現的次數。再定義乙份由「排除字眼」組成的set,其中包含諸如a, an , the, or, and ,but之類的單字。將某個單字放入map之前,先確定該單字並不在set中。一旦文字檔案讀取完畢,請顯示乙份單子清單,並顯示各單字出現的次數。你甚至可以再加以拓展,在顯示單字之前,允許使用者查詢某個單字是否出現於文字檔案中

// chapter01.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include#include#include#include#include#includeusing namespace std;

void show(string c)

int main()

else

words[word]++;

} cin >> cin_word;

while (cin_word.compare("0")!=0)

else

cin >> cin_word;

} map::iterator ite = words.begin();

for (;ite != words.end();ite++) }

return 0;

}

2.讀取文字檔案內容,和練習3.1一樣,並將內容儲存於vector中,以字串長度為依據,對vector排序。定義乙個函式物件並傳給sort,這個函式物件接受兩個字串,當第乙個字串的長度小於第二字串的長度時,返回true.最後列印排序後的vector。

// chapter01.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include#include#include#include#includeusing namespace std;

class mysort

else

sort(vec.begin(), vec.end(), my);

for_each(vec.begin(), vec.end(), myshow); }

return 0;

}

3. 定義乙個map,以家庭姓氏為key,value為家庭所有小孩的名字。令此map至少容納六筆資料,允許使用者根據姓氏來查詢,並得以列印map內的每一筆資料

// chapter01.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include#include#include#include#includeusing namespace std;

void my_show(string name)

int main()

else

} return 0;

}

這裡在結束輸入的時候是用了ctrl+z  關於這個操作的原理,我參考了其他大佬的部落格

4. 利用 istream_iterator 從標準輸入裝置讀取一連串整數,利用 ostream_iterator 將其中的奇數寫入某個檔案,每個數值之間以空格分隔。再利用ostream_iterator 將偶數寫到另乙個檔案,每個數值單獨放到一行中

// chapter01.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include#include#include#include#includeusing namespace std;

int main()

else

} return 0;

}

OpenGl學習第三章

上個星期學習了下金字塔的繪製,然後這週有看了看正方體的繪製,通過依次繪製6個面來繪製正方體,整體 跟上次的金三角沒有區別,只是座標點,顏色,已經繪製的 有點區別,上 看看 這是座標 private static float cubevertexcoords new float new float n...

C Primer Plus 第三章 學習

oop的本質是設計並拓展自己的資料型別,即讓型別與資料匹配。c 內建的型別,分為兩組 基本型別,復合型別。基本型別 整數,浮點數 復合型別 陣列,字串,指標和結構。標識儲存的資料的方法 使用變數 3.1簡單變數 程式必須記錄三個基本屬性 1.資訊將儲存在 2.要儲存什麼值 3.儲存何種型別的資訊 宣...

C Primer學習(第三章)

初始化string物件的方式 string s1 string s2 s1 string s2 s1 string s3 value string s3 value string s4 n,c 使用getline讀取一整行 int main int b begin a int e end a 對陣列...