真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

EssentialC++第三章習(xí)題-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、右玉網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為右玉等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

3.1

3.2

3.3

3.4


3.1

C++代碼:

//3.1
//讀寫文本文件,將文件中的每個單字存入map的key值中,value則是該單字在文本文件中出現(xiàn)次數(shù),再定義一份排除字眼組成的set,將某單字放入map之前先確定該單字不在排除字集中。
//文本文件讀取完畢后,顯示一份單字清單,并顯示各單字出現(xiàn)次數(shù)
//顯示單字之前,允許用戶查詢某個單字是否存在于文本文件中

#include#include//讀寫文本文件
#include#include#include#includeusing namespace std;

void user_query(const map& m1);
void display_word_const(const map& m1,ostream &os); //以iofstream流作為函數(shù)參數(shù)時,一定要傳入引用


int main()
{
	ifstream in_file("data.txt");
	if (!in_file)
	{
		cerr<< "無法打開文件"<< endl;
		return -1;
	}
	mapm1;
	sets1;
	vectorv1(6);
	cout<< "請輸入排除字眼:"<< endl;
	string temps1;
	for (int i = 0; i< 6; i++)
	{
		cin >>temps1;
		v1.push_back(temps1);
	}
	//將排除字眼插入set中
	s1.insert(v1.begin(), v1.end());
	//常規(guī)向map輸入的方法: cin>>twords; m1[mapstring]++;
	//從文件中向map輸入: in_file>>twords; m1[mapstring]++;
	string mapstring;
	while(in_file >>mapstring)
	{
		if (s1.count(mapstring)) //set的count和map的count使用方法類似,返回參數(shù)mapstring在容器中出現(xiàn)的次數(shù)
		{
			continue; //跳過接下來的語句,重新進行迭代
		}
		m1[mapstring]++;
	}
	//查詢map中是否存在某個單字
	user_query(m1);
	//display:
	display_word_const(m1, cout);

	system("pause");
	return 0;
}

void user_query(const map& m1)
{
	string search_word;
	cout<< "請輸入想要搜尋的單字或者輸入'q'以退出此程序: ";
	cin >>search_word;
	while (search_word.size() && search_word != "q") //第一個參數(shù)是確保search_word不為空,第二個參數(shù)是search_word不為程序退出條件q(同時因為string是字符串,所以應(yīng)當(dāng)是字符串"q")
	{
		map::const_iterator it = m1.find(search_word); //map的find函數(shù),如果參數(shù)值在map中,則會返回一個iterator指向此位置,否則會返回end();
		if (it != m1.end()) //如果it == m1.end(),則說明search_word不存在于此map中
		{
			cout<< "Found "<< it->first
				<< " occurs "<< it->second
				<< " times"<< endl;
		}
		else
		{
			cout<< search_word<< " was not found in text"<< endl;
		}
		cout<< "請繼續(xù)輸入想要搜尋的單字(輸入'q'退出)"<< endl;
		cin >>search_word;
	}
}

void display_word_const(const map& m1, ostream& os)
{
	map::const_iterator it_begin;
	map::const_iterator it_end;
	it_begin = m1.begin();
	it_end = m1.end();
	while (it_begin != it_end)
	{
		os<< it_begin->first<< " ( "<< it_begin->second<< " ) "<< endl;
		it_begin++;
	}
	os<< endl;
}

程序運行結(jié)果:

3.2

C++代碼:

//3.2
//讀取文本文件內(nèi)容并將內(nèi)容儲存于vector中
//以字符串長度為依據(jù),對vector進行排序
//定義一個function object并傳給sort()進行升序排序 -- 自定義一個fuction object接受兩個參數(shù),當(dāng)?shù)谝蛔址拈L度小于第二字符串的長度時,返回true
//打印排序后的vector內(nèi)容
#include#include#include //sort()
#includeusing namespace std;

//fuction object;
class Lessthan
{
public:
	bool operator()(const string& s1, const string& s2) //重載運算符' () ',使得Lessthan()即為一個fucion object并可以以Lessthan()的形式傳遞給sort()作為參數(shù)
	{
		return s1.size()< s2.size() ? true : false; //如果s1.size()< s2.size()則返回true反之則返回false
	}
};

void display_vector(const vectorivec)
{
	vector::const_iterator it = ivec.begin();
	while (it != ivec.end())
	{
		cout<< *it<< " ";
		it++;
	}
	cout<< endl;
}

int main()
{
	ifstream in_file("data.txt");
	if (!in_file)
	{
		cerr<< "文件無法打開"<< endl;
		return -1;
	}
	vectorivec;
	//將文件中的內(nèi)容輸入到ivec中
	string word;
	while (in_file >>word) //終止條件為文件中沒有內(nèi)容繼續(xù)輸入
	{
		ivec.push_back(word); // 不知道vector數(shù)組的大小,使用push_back()進行插入是最好選擇
	}
	cout<< "排序前:"<< endl;
	display_vector(ivec);
	//排序:
	sort(ivec.begin(), ivec.end(), Lessthan());
	//display:
	cout<< "排序后:"<< endl;
	display_vector(ivec);

	system("pause");
	return 0;
}

程序運行結(jié)果:

3.3

C++代碼:

//3.3
//定義一個map,以家庭姓氏為key,value則是家庭所有小孩的名字。
//此map至少容納六筆數(shù)據(jù)
//允許用戶根據(jù)姓氏來查詢,并得以打印map的每一筆數(shù)據(jù)
#include#include#include#includeusing namespace std;

void search_display(map>fn)
{
	map>::const_iterator it = fn.begin();
	string first_name;
	cout<< "輸出姓氏:";
	cin >>first_name;
	while (it != fn.end())
	{
		if (first_name == it->first)
		{
			cout<< "找到了!"<< endl;
			break;
		}
		else
		{
			it++;
		}
	}
	if (it == fn.end())
	{
		cout<< "該姓氏不存在于map中"<< endl;
		return;
	}
	// first_name  --  it->first  second_namme -- it->second;
	vectortempvec(it->second);
	vector::const_iterator iter = tempvec.begin();
	while (iter != tempvec.end())
	{
		cout<< "姓名:"<< it->first<< " "<< *iter<< endl;
		iter++;
	}
}

int main()
{
	map>family_name;
	string first_name = "none";
	//儲存數(shù)據(jù)過程
	cout<< "輸入家庭姓氏(輸入q退出儲存程序): ";
	cin >>first_name;
	while (first_name != "q")
	{
		vectorv1;
		string last_name = "none";
		cout<< "輸入家庭孩子的姓名(輸入q退出輸入進程): "<< endl;
		while (last_name != "q")
		{
			cin >>last_name;
			if (last_name != "q")
			{
				v1.push_back(last_name);
			}
			
		}
		family_name[first_name] = v1; //first_name對應(yīng)的是key值,v1對應(yīng)的是value值

		cout<< "輸入家庭姓氏(輸入q退出儲存程序): ";
		cin >>first_name;
	}
	//搜尋打印過程
	search_display(family_name);


	system("pause");
	return 0;
}

程序運行結(jié)果:

3.4

C++代碼:

//3.4
//利用istream_iterator從標(biāo)準(zhǔn)輸入設(shè)備輸入連續(xù)一連串整數(shù) (cin) 
//利用ostream_iterator將其中的奇數(shù)寫到某個文件,每個數(shù)值皆以空格分隔 (out_file1," ")
//再利用ostream_iterator將偶數(shù)寫到另一個文件,每個數(shù)值單獨放在一行 (out_file2, '\n')
#include#include#include// 使用istream_iterator<>和ostream_iterator<>#include#include
using namespace std;

int main()
{
	//容器
	vectorivec;
	//first;
	istream_iteratoris(cin);
	//last;
	istream_iteratoreof;
	//利用copy完成從標(biāo)準(zhǔn)輸入設(shè)備輸入
	cout<< "輸入整數(shù): "<< endl;
	copy(is, eof, back_inserter(ivec));
	
	fstream out_file1("data1.txt");
	fstream out_file2("data2.txt");
	if (!out_file1 || !out_file2)
	{
		cout<< "無法打開文件"<< endl;
		return 0;
	}

	vector::const_iterator it = ivec.begin();

	ostream_iteratoros1(out_file1, " ");
	ostream_iteratoros2(out_file2, "\n");

	vectortext1;
	vectortext2;
	while (it != ivec.end())
	{
		//奇數(shù)
		if (*it % 2 != 0)
		{
			text1.push_back(*it);
		}
		else
		{
			text2.push_back(*it);
		}
	}

	//輸入到文件中
	copy(text1.begin(), text1.end(), os1);
	copy(text2.begin(), text2.end(), os2);


	system("pause");
	return 0;
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


分享題目:EssentialC++第三章習(xí)題-創(chuàng)新互聯(lián)
文章來源:http://weahome.cn/article/dosipo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部