zoukankan      html  css  js  c++  java
  • C++ 实验五

    #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("basketball");
        likes.push_back("Windfall") ;
        likes.push_back("Xenogenesis");
        
        cout << "-----I like these-----" << endl;
        // 调用子函数输出vector<string>数组对象likes的元素值 
        output1(likes);
    
        
        
        // 为vector<string>数组对象dislikes添加元素值 
        // 补足代码 
        dislikes.push_back("one");
        dislikes.push_back("two");
        dislikes.push_back("four");
        
        cout << "-----I dislike these-----" << endl;
        // 调用子函数输出vector<string>数组对象dislikes的元素值 
        // 补足代码
        output1(dislikes);
        
        
        // 交换vector<string>对象likes和dislikes的元素值 
        // 补足代码
        likes.swap(dislikes);
        
        
        cout << "-----I likes these-----" << endl;
        // 调用子函数输出vector<string>数组对象likes的元素值 
        // 补足代码
        output2(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]<<endl;
        cout<<endl;
    }
    
    // 函数实现
    // 以迭代器方式输出vector<string>数组对象v的元素值  
    void output2(vector<string> &v) {
        // 补足程序
        for(vector<string>::iterator iter=v.begin();iter!=v.end();++iter)
        cout<<*iter<<endl;
        cout<<endl;
    }

     6-17

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

    指针是指向一个地址的,其本身没有意义,直接赋值并没有分配内存空间给它,所以用new申请内存空间来存放这个值//应该是这样吧--

    6-18

    #include <iostream>
    using namespace std;
    
    int fnl() {
        int *p=new int(5);
        return *p;
        delete p;
    }
    int main() {
        int a = fnl();
        cout << "The value of a is: " << a;
        system("pause");
        return 0;
    }

    内存泄漏,用delete释放

    #include<iostream>
    #include<cstdlib>
    #include<time.h>
    using namespace std;
    class Dice {
    public:
        Dice(int n);
        int cast();
    private:
        int sides;
    
    };
    
    Dice::Dice(int n) :sides(n) {}
    
    int Dice::cast() {
        return rand() % sides + 1;
    }
    
    int main() {
        Dice num(40);
        srand(time(NULL));
        int temp;
        int count = 0;
        for (int i = 0; i < 500; i++) {
            temp = num.cast();
            if (temp == 6)
                count++;
    
        }
        cout << count / 500.0 << endl;
        system("pause");
        return 0;
    }

    ran是伪随机,所以用了<time.h>当前时间作为种子,算是比较像真随机吧。

  • 相关阅读:
    今天面试一些程序员(新,老)手的体会
    UVA 10635 Prince and Princess
    poj 2240 Arbitrage
    poj 2253 Frogger
    poj 2485 Highways
    UVA 11258 String Partition
    UVA 11151 Longest Palindrome
    poj 1125 Stockbroker Grapevine
    poj 1789 Truck History
    poj 3259 Wormholes
  • 原文地址:https://www.cnblogs.com/nuo26/p/9078322.html
Copyright © 2011-2022 走看看