cyio.h

来自「大整数问题 设n是一个k(1≤k≤80)位的十进制正整数。 问题1:对于给定」· C头文件 代码 · 共 130 行

H
130
字号
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include<vector>
using namespace std;
template<typename T>
void inVector(ifstream & f,vector<T> &v,int ndelm){
	T t;
	string str;
	stringstream s1;
	getline(f,str);
	s1<<str;
	while (1)
	{ s1>>t;
	if (s1.eof()) break;
	s1.ignore(ndelm);
	v.push_back(t);
	cout<<"["<<v[v.size()-1]<<"]"<<"  ";
	}
	cout<<endl;
}

template<typename T>
void inNum(ifstream &f,T &p){
	T t;
	string str;
	stringstream s1;
	getline(f,str);
	s1<<str;
	s1>>p;
}

template<typename T>
void inMatrix(ifstream & f,vector<vector<T> > &v){
	string str;
	stringstream s1;
	
	T t;
	while (1){
		s1.clear();
		getline(f,str);
		s1<<str;
		vector<T> tv;
		while (1)
		{ s1 >>t;
		tv.push_back(t);
		if (s1.eof()) break;
		s1.ignore();
	//	cout<<"["<<tv[tv.size()-1]<<"]"<<"  ";
		}
		cout<<endl;
		v.push_back(tv);
		if (f.eof()) break;
	}

}

template<typename T>
ostream& operator<<(ostream& out,const vector<T>& v){
	size_t i;
	for (i=0;i<v.size();i++){
		out<<v[i]<<"  ";
	}
	out<<endl;
	return out;
}

template<typename T>
void coutVector(const vector<T>& v,char ch=' '){
	size_t i;
	for (i=0;i<v.size();i++){
		
		if (ch=='[') {
			cout<<" ["<<v[i]<<"] ";
		}else if (ch=='('){
			cout<<" ("<<v[i]<<") ";
		}else {
			cout<<v[i]<<" "<<string(&ch)<<" ";
		}
	}
cout<<endl;
}

template<typename T>
void foutVector(fstream& out,const vector<T>& v,char ch=' '){
	size_t i;
	for (i=0;i<v.size();i++){
		
		if (ch=='[') {
			out<<" ["<<v[i]<<"] ";
		}else if (ch=='('){
			out<<" ("<<v[i]<<") ";
		}else {
			out<<v[i]<<" ";
			out<<ch;
			out<<" ";
		}
	}
out<<endl;
}
template<typename T>
void coutMatrix(const vector<T>& v,char ch=' '){
	size_t i;
	for (i=0;i<v.size();i++){
		coutVector(v[i],ch);
	}
cout<<endl;
}

template<typename T>
void foutMatrix(fstream& out,const vector<T>& v,char ch=' '){
	size_t i;
	for (i=0;i<v.size();i++){
		foutVector(out,v[i],ch);
	}
cout<<endl;
}




void outLine(ofstream &f,char* s="=",int n=40){
for (size_t i=0;i< n;i++) f<<*s;
f<<endl;
}
void outLine(char* s="=",int n=40){
for (size_t i=0;i< n;i++) cout<<*s;
cout<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?