两个C++的题目

来源:百度知道 编辑:UC知道 时间:2024/05/24 14:35:25
现有两个C++题目,希望有会的高手帮忙编一下,越快越好,题目如下:
1, 编写一函数add-matrix计算4*4矩阵的和。要求在主函数中定义两个矩阵,并进行输入,调用add-matrix函数实现加法,最后在主函数中输出相加后的结果。
2, 在主函数中输入一段字符串,在自定义函数中统计字符串中包含的英文字符、数字、空格和其他的字符的个数,并将统计数据返回主函数输出。

第一题
#include <iostream.h>
#include <stdlib.h>

class juzhen
{
int** a;
int row;
int col;
public:
juzhen();//默认生成 2 行 2 列的矩阵,元素初值为 0
juzhen(int r,int c);//生成 r 行 c 列的矩阵,元素初值为 0
juzhen(int r,int c,int d);//生成 r 行 c 列的矩阵,元素初值为 d
void rsetmatrixsize(int r,int c){row = r;col = c;}
friend istream & operator>>(istream&,juzhen&); //输入重载
friend ostream & operator<<(ostream&,juzhen&); //输出重载
juzhen& operator^(juzhen&);//将矩阵转置,注意转置后的行列设置
juzhen add_matrix(juzhen& lj,juzhen& rj);
}; //矩阵 lj 和 rj 相加

juzhen::juzhen(){
row = col =2;
a = new int*[row];
for(int i=0;i<row;i++){
a[i] = new int[col];
}
for(int m=0;m<row;m++)
for(int n=0;n<col;n++)
a[m][n] = 0;
}

juzhen::juzhen(int r,int c){
row = r;
col = c;
a = new int*[row];
for(int i=0;i<row;i++){
a[i] =