task3_1
#include<iostream> #include<vector> template<typename T> void output(const T&obj){ for(auto &item:obj) std::cout<<item<<", "; std::cout<<"\b\b \n"; } int main() { using namespace std; vector<int> v1; vector<int> v2(5); vector<int> v3(5,42); vector<int> v4{1,9,8,4}; vector<int> v5{v4}; output(v2); output(v3); output(v4); output(v5); }
task3_2
#include<iostream> #include<fstream> #include<array> #define N 5 int main(){ using namespace std; array<int,N> x; ifstream in; in.open("data1.dat",ios::binary); if(!in.is_open()){ cout<<"fail to open data1.dat\n"; return 1; } in.read(reinterpret_cast<char *>(&x),sizeof(x)); in.close(); for(auto i=0;i<N;++i) cout<<x[i]<<", "; cout<<"\b\b \n"; }
运行结果:
修改后的运行结果:
vector.hpp
#pragma once #include<iostream> using namespace std; template<typename T> class Vector{ public: Vector(int n); Vector(int n,T value); Vector(const Vector<T> &x); ~Vector(); int get_size(){return size;} T &at(int i){return p[i];} T &operator[](int i){return p[i];} friend void output(Vector &x){ for(int i=0;i<x.size-1;i++) cout<<x.p[i]<<", "; cout<<x.p[x.size-1]<<endl; } private: int size; T *p; }; template<typename T> Vector<T>::Vector(int n){ size=n; p=new T[n]; } template<typename T> Vector<T>::Vector(int n,T value){ size=n; p=new T[n]; for(int i=0;i<n;i++) p[i]=value; } template<typename T> Vector<T>::Vector(const Vector<T> &x) { size=x.size; p=new T[size]; for(int i=0;i<x.size;i++) { p[i]=x.p[i]; } } template<typename T> Vector<T>::~Vector() { delete [] p; }
task4.cpp
#include <iostream> #include "Vector.hpp" 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(); }
运行结果:
task5.cpp
#include<iostream> #include<iomanip> #include<string> #include<fstream> using namespace std; void output(std::ostream &out) { char a[26][26]; cout<<" "; out<<" "; for(char i='a';i<='z';i++) { cout<<setw(2)<<setfill(' ')<<i; out<<setw(2)<<setfill(' ')<<i; } cout<<endl; out<<endl; for(int j=0;j<26;j++) { cout<<setw(2)<<setfill(' ')<<j+1; out<<setw(2)<<setfill(' ')<<j+1; for(int k=0;k<26;k++) { a[j][k]='A'+char((j+k+1)%26); cout<<setw(2)<<setfill(' ')<<a[j][k]; out<<setw(2)<<setfill(' ')<<a[j][k]; } out<<endl; cout<<endl; } } int main() { ofstream out; out.open("cipher_key.txt",ios::out); if(!out.is_open()) { cout<<"fail to open cipher_ke.text"<<endl; return 1; } output(out); out.close(); }
运行结果:
标签:std,int,Vector,实验,output,include,size From: https://www.cnblogs.com/dgfhdrth/p/16962132.html