实验四

task5:

测试结果:

 

 

 

源代码:

 1 #include<iostream>
 2 using namespace std;
 3 class vectorInt
 4 {
 5     public:
 6         vectorInt(int n=0):size(n){
 7         v=new int[size];
 8         cout<<"creat array"<<endl;
 9         }
10         vectorInt(int n,int va):size(n){
11             v=new int[size];
12         for(int i=0;i<size;i++)
13         v[i]=va;
14             cout<<"creat array value"<<endl;
15         }
16         vectorInt(const vectorInt &vec){
17             v=new int[vec.size];
18             size=vec.size;
19             for(int i=0;i<size;i++)
20             v[i]=vec.v[i];
21             cout<<"copy array"<<endl;
22         }
23         ~vectorInt(){
24             delete[] v;
25             cout<<"delete array"<<endl;
26         }
27         int &at(int a)
28         {
29             return v[a];
30         }
31         int get_size() const
32         {
33             return size;
34         }
35         friend void output(vectorInt &vv);
36     private:
37         int *v;
38         int size;
39  };
40  void output(vectorInt &vv){
41      for(int i=0;i<vv.size;i++)
42      cout<<vv.v[i]<<" ";
43      cout<<endl;
44  }

 

task6:

测试结果:

 

 

源代码:

 1 #pragma once
 2 #include<iostream>
 3 using std::cout;
 4 using std::endl;
 5 
 6 class Matrix {
 7 public:
 8     Matrix(int n);                     // 鏋勯€犲嚱鏁帮紝鏋勯€犱竴涓猲*n鐨勭煩闃?
 9     Matrix(int n, int m);              // 鏋勯€犲嚱鏁帮紝鏋勯€犱竴涓猲*m鐨勭煩闃?
10     Matrix(const Matrix &X);           // 澶嶅埗鏋勯€犲嚱鏁帮紝浣跨敤宸叉湁鐨勭煩闃礨鏋勯€?
11     ~Matrix();                         //鏋愭瀯鍑芥暟
12 
13     void set(const double *pvalue);     // 鐢╬value鎸囧悜鐨勮繛缁唴瀛樺潡鏁版嵁鎸夎涓虹煩闃佃祴鍊?
14     void set(int i, int j, int value); //璁剧疆鐭╅樀绗琲琛岀j鍒楀厓绱犲€间负value
15     double &at(int i, int j);          //杩斿洖鐭╅樀绗琲琛岀j鍒楀厓绱犵殑寮曠敤
16     double at(int i, int j) const;     // 杩斿洖鐭╅樀绗琲琛岀j鍒楀厓绱犵殑鍊?
17     int get_lines() const;             //杩斿洖鐭╅樀琛屾暟
18     int get_cols() const;              //杩斿洖鐭╁垪鏁?
19     void print() const;                // 鎸夎鎵撳嵃杈撳嚭鐭╅樀
20 
21 private:
22     int lines; // 鐭╅樀琛屾暟
23     int cols;  // 鐭╅樀鍒楁暟
24     double *p; // 鎸囧悜瀛樻斁鐭╅樀鏁版嵁鐨勫唴瀛樺潡鐨勯鍦板潃
25 };
26 
27 // 绫籑atrix鐨勫疄鐜帮細寰呰ˉ瓒?
28 // 脳脳脳
29 Matrix::Matrix(int n)
30 {
31     lines=n;
32     cols=n;
33     p=new double[n*n];
34  } 
35  Matrix::Matrix(int n,int m)
36 {
37     lines=n;
38     cols=m;
39     p=new double[n*m];
40  } 
41   Matrix::Matrix(const Matrix &X)
42 {
43     lines=X.lines;
44     cols=X.cols;
45     p=new double[lines*cols];
46     for(int i=0;i<lines*cols;i++)
47     p[i]=X.p[i];
48  } 
49  Matrix::~Matrix(){}
50 void Matrix::set(const double *pvalue)
51 {
52     for(int i=0;i<lines*cols;i++)
53     p[i]=pvalue[i];
54 }
55 void Matrix::set(int i,int j,int value)
56 {
57     p[i*cols+j]=value;
58 }
59 double &Matrix::at(int i,int j)
60 {
61     return p[i*cols+j];
62 }
63 double Matrix::at(int i,int j) const
64 {
65     return p[i*cols+j];
66 }
67 int Matrix::get_lines() const
68 {
69     return lines;
70 }
71 int Matrix::get_cols() const
72 {
73     return cols;
74 }
75 void Matrix::print() const
76 {
77     for(int i=0;i<lines;i++)
78     {
79         for(int j=0;j<cols-1;j++)
80         cout<<at(i,j)<<",";
81         cout<<at(i,cols-1);
82         cout<<endl;
83     }
84 }

 

posted @ 2022-11-09 14:20  【VC】熬夜不吃饭的兔子  阅读(23)  评论(0编辑  收藏  举报