#include <iostream> #include <vector> #include <string> using namespace std; // 函数声明 void output1(vector<string> &); void output2(vector<string> &); int main() { vector<string>likes, dislikes; // 创建vector<string>对象likes和dislikes // 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc) // 补足代码 // 。。。 likes.push_back("book"); likes.push_back("music"); likes.push_back("film"); likes.push_back("paintings"); likes.push_back("anime"); likes.push_back("sport"); likes.push_back("etc"); cout << "-----I like these-----" << endl; // 调用子函数输出vector<string>数组对象likes的元素值 // 补足代码 // 。。。 output1(likes); // 为vector<string>数组对象dislikes添加元素值 // 补足代码 // 。。。 dislikes.push_back("film"); dislikes.push_back("sportsman"); dislikes.push_back("anime"); dislikes.push_back("paintings"); dislikes.push_back("music"); dislikes.push_back("book"); dislikes.push_back("etc"); cout << "-----I dislike these-----" << endl; // 调用子函数输出vector<string>数组对象dislikes的元素值 // 补足代码 // 。。。 output2(dislikes); // 交换vector<string>对象likes和dislikes的元素值 // 补足代码 // 。。。 likes.swap(dislikes); cout << "-----I likes these-----" << endl; // 调用子函数输出vector<string>数组对象likes的元素值 // 补足代码 // 。。。 output1(likes); cout << "-----I dislikes these-----" << endl; // 调用子函数输出vector<string>数组对象dislikes的元素值 // 补足代码 // 。。。 output2(dislikes); return 0; } // 函数实现 // 以下标方式输出vector<string>数组对象v的元素值 // 补足程序 // 。。。 void output1(vector<string> &v) { for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; } // 函数实现 // 以迭代器方式输出vector<string>数组对象v的元素值 // 补足程序 // 。。。 void output2(vector<string> &v) { vector<string>::iterator it; for(it=v.begin() ;it!=v.end() ;it++) cout<<*it<<" "; cout<<endl; }
#include<iostream> using namespace std; int main() { //int a; int *p;//定义指针时必须进行初始化。int *p=&a; *p=9 //a = 9; cout << "The value at p:" << *p; return 0; }
#include<iostream> using namespace std; int fn1() { int *p = new int(5);//动态内存分配 return *p; delete *p;//动态内存释放 } int main() { int a = fn1(); cout << "the value of a is:" << a; return 0; }
#ifndef MATRIX_H #define MATRIX_H class Matrix { public: Matrix(int n); // 构造函数,构造一个n*n的矩阵 Matrix(int n, int m); // 构造函数,构造一个n*m的矩阵 Matrix(const Matrix &X); // 复制构造函数,使用已有的矩阵X构造 ~Matrix(); //析构函数 void setMatrix(const float *pvalue); // 矩阵赋初值,用pvalue指向的内存块数据为矩阵赋值 void printMatrix() const; // 显示矩阵 inline float &element(int i, int j); //返回矩阵第i行第j列元素的引用 inline float element(int i, int j) const;// 返回矩阵第i行第j列元素的值 void setElement(int i, int j, int value); //设置矩阵第i行第j列元素值为value inline int getLines() const; //返回矩阵行数 inline int getCols() const; //返回矩阵列数 private: int lines; // 矩阵行数 int cols; // 矩阵列数 float *p; // 指向存放矩阵数据的内存块的首地址 }; #endif
#include<iostream> #include<iomanip> #include"Matrix.h" using namespace std; int main() { Matrix a1(4); Matrix a2(3, 4); float b1[16], b2[12]; for (int i = 1; i <= 16; i++) b1[i-1] = (float)i / (float)10; for (int i = 0; i < 12; i++) b2[i] = (float)(12 - i) / (float)10; float *p1 = b1; float *p2 = b2; a1.setMatrix(p1); cout << "a1为" << a1.getLines() << "行" << a1.getCols() << "列的矩阵" << endl; a1.printMatrix(); a2.setMatrix(p2); cout << "a2为" << a2.getLines() << "行" << a2.getCols() << "列的矩阵" << endl; a2.printMatrix(); Matrix a3(a1); cout << "a3为" << a3.getLines() << "行" << a3.getCols() << "列的矩阵" << endl; a3.printMatrix(); cout << "------------------" << endl; a3.setElement(2, 1, 5); a3.printMatrix(); cout << "改变的元素是" << a3.element(2, 1) << endl; system("pause"); return 0; }
#include"Matrix.h" #include<iostream> using namespace std; Matrix::Matrix(int n):lines(n),cols(n) { p = new float[lines*cols]; } Matrix::Matrix(int n,int m):lines(n),cols(m) { p = new float[lines*cols]; } Matrix::Matrix(const Matrix &X) { lines = X.lines; cols = X.cols; p = new float[X.lines*X.cols]; for (int i = 0; i < (X.lines*X.cols);i++) { p[i] = X.p[i]; } } Matrix::~Matrix() { delete[]p; } void Matrix::setMatrix(const float *pvalue) { for (int i = 0; i < lines*cols; i++) { p[i] = pvalue[i]; } } void Matrix::printMatrix()const { cout<<"the matrix is:"<<endl; for (int i = 0; i < lines; i++) { for (int j = 0; j < cols; j++){ cout << p[i*cols + j]<<" "; } cout << endl; } } inline float &Matrix::element(int i, int j) { return p[i*cols + j]; } inline float Matrix::element(int i, int j) const { return p[i*cols + j]; } void Matrix::setElement(int i, int j, int value) { p[i*cols + j] = value; } inline int Matrix::getLines() const { return lines; } inline int Matrix::getCols() const { return cols; }
#include <iostream> #include <cstdlib> using namespace std; class Dice { private: int sides; public: Dice(int n); int cast() { return rand()%sides+1; }; }; Dice::Dice(int n) :sides(n) {} int main() { int num, s=0; cout << "Num:"; cin >> num; Dice d(num); for (int i = 1; i <= 500; i++) { if (d.cast() == 25) s++; } double p; p = (double)s / 500.0; cout << "The posibility of num.25 is " << p << endl; system("pause"); return 0; }
#ifndef BOOK_H #define BOOK_H #include <string> using std::string; class Book { public: Book(string isbnX, string titleX, float priceX); //构造函数 void print(); // 打印图书信息 private: string isbn; string title; float price; }; #endif
#include "book.h" #include <vector> #include <iostream> using namespace std; int main() { vector<Book>book; // 定义一个vector<Book>类对象 // 补足程序 // ... string isbn,title,a,b; float price,c; for(int i=2;;i++) { cin>>a; if(a=="stop") break; cin>>b>>c; Book Book(a, b, c); book.push_back(Book); } // 录入图书信息,构造图书对象,并添加到前面定义的vector<Book>类对象中 // 循环录入,直到按下Ctrl+Z时为止 (也可以自行定义录入结束方式) // 补足程序 // ... for(int j=0;j<book.size();j++){ book[j].print(); } // 输出入库所有图书信息 // 补足程序 // ...
#include "book.h" #include <iostream> #include <string> using namespace std; Book::Book(string isbnX, string titleX, float priceX){ isbn=isbnX; title=titleX; price=priceX; } void Book::print() { cout<<"isbn:"<<isbn<<" "<<"title:"<<title<<" "<<"price:"<<price<<endl; } // 构造函数 // 补足程序 // ... // 打印图书信息 // 补足程序 // ...