首页 > 其他分享 >实验6

实验6

时间:2023-12-18 09:58:37浏览次数:25  
标签:std Vector 实验 output include data size

 #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();
   return 0;
 }

  

 #include <iostream>
  #include <stdexcept>
  
  template <typename T>
  class Vector {
 private:
      T* data;
      size_t size;
 public:
     Vector(size_t n) : size(n) {
        data = new T[size];
     }
     Vector(size_t n, const T& value) : size(n) {
        data = new T[size];
        for (size_t i = 0; i < size; ++i) {
            data[i] = value;
         }
    }
     Vector(const Vector& other) : size(other.size) {
       data = new T[size];
        for (size_t i = 0; i < size; ++i) {
            data[i] = other.data[i];
         }
     }  
     ~Vector() {
         delete[] data;     }
 
     size_t get_size() const {
         return size;
     }
   
     T& at(size_t i) {
        if (i >= size) {
             throw std::out_of_range("Index out of range");
         }
        return data[i];
    }   
    T& operator[](size_t i) {
        if (i >= size) {
            throw std::out_of_range("Index out of range");
        }
        return data[i];
     }
     friend void output(const Vector& v) {
         for (size_t i = 0; i < v.size; ++i) {
            std::cout << v.data[i] << " ";
         }
      std::cout << std::endl;
    }
 };

#include<iostream>
#include<iomanip>
#include<fstream>

using namespace std;

void output(std::ostream& output){
    output << " ";
    for (int i = 97; i < 123; i++){
        output << setw(2) << char(i);
    }
    cout << endl;
    for (int i = 1; i <= 26; i++){
        output << setw(2) << i;
    int j;
    for (j=i;j<i+26;j++){
        output << setw(2) << char(65+j%26);
    }
    cout << endl;
}
}

int main()
{
    ofstream out;
    output(cout);
    out.open("cipher_key.txt");
    output(out);
    return 0; 
}

  

 

标签:std,Vector,实验,output,include,data,size
From: https://www.cnblogs.com/gycgy/p/17910372.html

相关文章

  • 实验6
      task4#include<stdio.h>#defineN10typedefstruct{charisbn[20];//isbn号charname[80];//书名charauthor[80];//作者doublesales_price;//售价intsales_count;//销售册数}Book;v......
  • 实验6 C语言结构体、枚举应用编程
    task11//P286例8.172//对教材上的程序作了微调整,把输出学生信息单独编写成一个函数模块3//打印不及格学生信息和所有学生信息程分别调用45#include<stdio.h>6#include<string.h>7#defineN3//运行程序输入测试时,可以把这个数组改......
  • 实验六
    task1.c//P286例8.17//对教材上的程序作了微调整,把输出学生信息单独编写成一个函数模块//打印不及格学生信息和所有学生信息程分别调用#include<stdio.h>#include<stdlib.h>#include<string.h>#defineN3//运行程序输入测试时,可以把这个数组改小一些输......
  • 实验六
    实验一源代码#include<stdio.h>#include<string.h>#defineN3//运行程序输入测试时,可以把这个数组改小一些输入测试typedefstructstudent{intid;//学号charname[20];//姓名charsubject[20];//考试科目doubleperf;//平时成绩dou......
  • 实验6 模板类、文件IO和异常处理
    任务41#include<iostream>2#include"Vector.hpp"34voidtest(){5usingnamespacestd;67intn;8cin>>n;910Vector<double>x1(n);11for(autoi=0;i<n;++i)12x1.at(......
  • 实验6 C语言结构体、枚举应用编程
    1、实验1运行结果2、实验2源代码 1#include<stdio.h>2#include<string.h>3#defineN104#defineM8056typedefstruct{7charname[M];//书名8charauthor[M];//作者9}Book;1011intmain(){12Bookx[N]=......
  • 实验6 模板类、文件IO和异常处理
    实验任务4#pragmaonce#include<iostream>#include<stdexcept>usingnamespacestd;template<typenameT>classVector{public:Vector(intn);Vector(intn,Tvalue);Vector(constVector<T>&vi);~Vector();......
  • 实验六、模板类,文件I/O流,异常处理
    实验四:Vector.hpp://#pragmaonce#include<iostream>#include<stdexcept>usingnamespacestd;template<typenameT>classVector{private:T*data;intsize;public:Vector(intsz=0,constT&value=T());V......
  • 4.1-华三-irf中的bfd mad实验配置
    1.BFDMad概述用途:核心层的irf,最好做MAD检测,来确保网络的稳定性。BFD:BidirectionalForwardingDetection(双向转发检测)。1.是一种网络协议,用于快速检测和报告两个网络节点之间的连接状态。主要目标是提供低延迟、高可靠性的链路故障检测,以便网络设备可以快速做出响应并进行故障恢复......
  • 实验6
    实验41#include<stdio.h>2#include<string.h>3#defineN104typedefstruct{5charisbn[20];//isbn号6charname[80];//书名7charauthor[80];//作者8doublesales_price;//售价9intsales_count;//销售册数10}......