实验6

任务4
#include <iostream>
#include "Vector.hpp"
using namespace std;

template<typename T>
void output(const Vector<T>& v){
    for(auto i=0;i<v.get_size();i++){
        cout << v.at(i) << ", ";


    }
    cout << "\b\b \n";
}

void test() {
using namespace std;
int n;
cin >> n;
Vector<double> x1(n);
for(auto i = 0; i < n; ++i)
x1.at(i) = i * 0.7;
output(x1);
Vector<int> x2(n, 42);
Vector<int> x3(x2);
output(x2);
output(x3);
x2.at(0) = 77;
output(x2);
x3[0] = 999;
output(x3);
}
int main() {
test();
}
View Code
#include<iostream>
#include<stdexcept>
#include <cassert>
using namespace std;
template<typename T>
class Vector
{
private:
    int size;
    T* ptr;
public:

    Vector(int size)
    {
        if(size<0)
            throw std::length_error("vector constructor:negative size");
        this->size = size;
        ptr = new T[this->size];
    }
    Vector(int size, T value)
    {
        if(size<0)
            throw std::length_error("vector constructor:negative size");
        this->size = size; ptr = new T[size];
        for (auto i = 0; i < size; i++)
        {
            ptr[i] = value;
        }

    }
    Vector(const Vector<T>& x)
    {
        size = x.size;
        ptr = new T[size];
        for (auto i = 0; i < size; i++)
        {
            ptr[i] = x.ptr[i];
        }
    }
    ~Vector()
    {
        delete[] ptr;
    }
    int get_size() { return size; }
    T& at(int i)
    {
        assert(i >= 0 && i < size);
        return(ptr[i]);
    }
    T& at(int i) const
    {
        assert(i >= 0 && i < size);
        return(ptr[i]);
    }
     T& operator[](int i)
    {
        return ptr[i];
    }
};
View Code

任务5

 #include<iostream>
 #include<fstream>
 #include<iomanip>
 
 using namespace std;
 
 void output(std::ostream& output) {
     output << "  ";
     for(int i=97;i<123;i++) {
         output << setw(2) << char(i);
     }
     output << endl;
     
     for(int i=1;i<=26;i++) {
         output << setw(2) << i;
         
         for(int j=i;j<i+26;j++) {
             output << setw(2) << char(65 + j % 26);
         }
         output << endl;     }
 }
 


 int main(){
     
     output(cout);
     ofstream outFile("cipher_key.txt");
     output(outFile);
   outFile.close();
 
     return 0;
 }
 
View Code

 

posted @ 2023-12-17 15:17  音也  阅读(24)  评论(0)    收藏  举报