c++实验五

1.#include <iostream>
#include <vector>
#include <string>
using namespace std; 
void output1(vector<string> &);  
void output2(vector<string> &);  
int main()
{
 vector<string>likes, dislikes; 
 paintings,anime,sport,sportsman,etc) 
 likes.push_back("favorite book"); 
 likes.push_back("music");
 likes.push_back("film");
 likes.push_back("paintings");
 cout << "-----I like these-----" << endl;
  output1(likes);
  dislikes.push_back("anime");
 dislikes.push_back("sport");
 dislikes.push_back("sportsman");
 cout << "-----I dislike these-----" << endl; 
 output2(dislikes) ;
      likes.swap(dislikes);
 cout << "-----I likes these-----" << endl;
  output2(likes); 
 cout << "-----I dislikes these-----" << endl;
 output1(dislikes);       
 return 0;
}
void output1(vector<string> &v) {
 int i;
 for(i=0;i<v.size();i++)
 cout<<v[i]<<endl; 
}
void output2(vector<string> &v) {
 vector<string>::iterator it; 
 for(it=v.begin();it!=v.end();it++)
 cout<<*it<<endl; 
}

  

 

6-17
#include<iostream> using namespace std; int main(){ int *p; *p=9; cout <<"The value at p:"<<*p; return 0; }

  

6-18
#include<iostream> using namespace std; int fn1() { int *p=new int (5); return *p; } int main(){ int a=fn1(); cout<<"the value of a is:"<<a; return 0; }

  

 

matrix

  

#include <iostream>
 using namespace std;
 #include"matrix.h"
  int main(int argc, char** argv) {
     Matrix a(3);
     float s[3][3]={1,2,3,4,5,6,7,8,9};
     const float *p;
     p=s[0];
     a.setMatrix(p);
     a.printMatrix();
     cout<<a.element(0,0)<<endl;
     cout<<a.getCols()<<endl;
     cout<<a.getLines()<<endl;
     a.setElement(0,0,0);
     a.printMatrix();
     return 0;
 }
#endif

  

  

 #ifndef MATRIX_H
 #define MATRIX_H
 class Matrix {
     public:
         Matrix(int n); 
         Matrix(int n, int m);  
         Matrix(const Matrix &X); 
          ~Matrix();  
          void setMatrix(const float *pvalue);  
         void printMatrix() const; 
         inline float &element(int i, int j){
             return *(p+i*cols+j);
        } 
         inline float element(int i, int j) const;
         void setElement(int i, int j, int value); 
         inline int getLines() const{
             return lines;
         } 
         inline int  getCols() const{
             return cols;
         } 
     private:
         int lines;   
         int cols;      
         float *p;   
 };
  

  

 #include"matrix.h"
 #include<iostream>
 using namespace std;
 Matrix::Matrix(int n):lines(n),cols(n){
  }
 Matrix::Matrix(int n,int m):lines(n),cols(m){
  }
  Matrix::Matrix(const Matrix &X){
      lines=X.lines;
     cols=X.cols;
     p=X.p;
 }
 void Matrix::setMatrix(const float *pvalue){
     p=(float*)pvalue;
 }
 void Matrix::printMatrix() const{
     int i,j;
     for(i=0;i<lines;i++){
         for(j=0;j<cols;j++)
             cout<<*(p+i*cols+j)<<" ";
         cout<<endl;
     }
 }
 
 Matrix::~Matrix(){
 }
 
 void Matrix::setElement(int i, int j, int value){
     *(p+i*cols+j)=value;
 }

  

posted @ 2018-05-23 21:35  无敌的宫本  阅读(195)  评论(0编辑  收藏  举报