📄 myheader.h
字号:
/////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////
//文件名: Muheader.h
//创建者: Garmy(郭旭星)
//创建时间:2005/8/31
//内容描述:你面包含许多有关排序的函数
//////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
#include<stdlib.h>
#include<iostream.h>
#include<string.h>
//**************************随机函数****************************/////
int random(int range);
//**************************有关数组****************************/////
////////////
////////////
////升序排列
void RankUp(int a[],int n);
void RankUp(float a[],int n);
void RankUp(double a[],int n);
////降序排列
void RankDown(int a[],int n);
void RankDown(float a[],int n);
void RankDown(double a[],int n);
////求数列的最大者,并返回最大值的下标
int RankMax(int a[],int n);
int RankMax(float a[],int n);
int RankMax(double a[],int n);
////求数列的最小者,并返回最小者的下标
int RankMin(int a[],int n);
int RankMin(float a[],int n);
int RankMin(double a[],int n);
////*******************有关数学运算*************************************///////
/////////////
/////////////
////求一个数的n次幂
template <class T>
T Mici(T data,int n);
////
//friend int operator ^(int &a,int &b);
////
/**/
///******矩阵类CMatrix******//
//这是二维存储结构
typedef double DERECT;
typedef double* LPDERECT;
class CMatrix
{
public:
//默认构造一阶方阵
CMatrix():m(1),n(1){MakeCol();}
//构造方阵
CMatrix(int nn):m(nn),n(nn){MakeCol();}
//构造矩阵
CMatrix(int mm,int nn):m(mm),n(nn){MakeCol();}
//从键盘初始化矩阵
void Initial();
//从其他矩阵初始化矩阵
void Initial(CMatrix &);
//row1 - n*row2
void Minusrow(int row1,int row2,DERECT n);
//col1 - n*col2
void Minuscol(int col1,int col2,DERECT n);
//row1 + n*row2
void Plusrow(int row1,int row2,DERECT n);
//col1 + n*col2
void Pluscol(int col1,int col2,DERECT n);
//n * row
void Mulrowself(int row,DERECT n);
//n * col
void Mulcolself(int col,DERECT n);
//row / n
void Divrowself(int row,DERECT n);
//col / n
void Divcolself(int col,DERECT n);
//两矩阵相加
friend CMatrix operator+(CMatrix &mat1,CMatrix &mat2);
//两矩阵相减
friend CMatrix operator-(CMatrix &mat1,CMatrix &mat2);
//两矩阵赋值
void operator=(CMatrix mat);
//判断两矩阵是否相等
friend bool operator==(CMatrix &,CMatrix &) ;
//打印矩阵
void Display();
//矩阵乘以常数
friend CMatrix operator*(DERECT , CMatrix);
friend CMatrix Locmatrix(CMatrix,int row,int col);
//求伴随矩阵
friend CMatrix Conmatrix(CMatrix);
//求逆矩阵
friend CMatrix Nimatrix(CMatrix);
//两矩阵相乘
friend CMatrix operator*(CMatrix mat1,CMatrix mat2);
//求一个矩阵的k次幂
friend CMatrix Micimatrix(CMatrix mat,int k);
//初始化一个单位矩阵
friend CMatrix Elementmatrix(int );
//cin入矩阵
friend istream &operator>>(istream &ios,CMatrix &a);
//cout出矩阵
friend ostream &operator<<(ostream &out,CMatrix &a);
//求行列式的值
friend DERECT D(CMatrix b,int jieshu);
//求转置矩阵
friend CMatrix Tansform(CMatrix);
//行交换
void Exchangerow(int row1,int row2);
//列交换
void Exchangecol(int col1,int col2);
//如果是方阵就可求方阵的值,可能返回小数
DERECT Derect(CMatrix a,int jieshu);
//取得右下脚元素
DERECT Bot(CMatrix b){return b.a[b.m-1][b.n-1];}
//取得左上脚元素
DERECT Top(CMatrix b){return b.a[0][0];}
//存取矩阵
LPDERECT *a;
protected:
int m;//行
int n;//列
//初始化存储空间
void MakeCol(){
a=new LPDERECT [m];
for(int i=0;i<m;i++)
a[i]=new DERECT [n];
}
};//end CMatrix
////////////
////////////
////////////////////////////////////////////////////////////
/////////////////////////有关字符串/////////////////////////
//////////////
//////////////
///排列字符串中字符的顺序
///升序
char *SortStrUp(char *string);
///降序
char *SortStrDown(char *string);
///比较两字符串
int StrCompare(char *str1,char *str2);
///大小写转换
char *StrToCap(char *string);
char *StrToLow(char *string);
///两字符串连接
char *StrCat(char *strBeCat,char *strcat);
//复制字符串
void CopyStr(char *©,char *copied);
//求字符串长度
int StrLength(char *string);
///定位子串
int SubStrLoc(char *mainstring,char *substring);
///定位删除
void StrLocDel(char *mainstring,int location,int length);
///定位替换
char * StrLocIns(char *mainstring,int location, int substringlength,char *substring);
///////////////////////endl
template <class T>
T Mici(T data,int n)
{
T y=data;
if(n==0)
y=1;
else y=data*Mici(data,n-1);
return y;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -