首页 > 其他分享 >实验六

实验六

时间:2023-12-17 19:46:46浏览次数:27  
标签:int Vector 实验 output include ptr size

实验任务4

vector.hpp

#include<iostream>
#include<stdexcept>
#include <cassert>
using namespace std;
template<typename T>
class Vector
{
private:
    T* ptr;
    int size;
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];
    }
    friend void output(Vector<T> x)
    {
        for (auto i = 0; i < x.get_size(); i++)
            cout << x.at(i) << ",";
        cout << "\b\b\n";
    }
};

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

实验任务5

task5.cpp

#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;
		int j;
		for (j = i; j < i + 26; j++)
		{
			output << setw(2) << char(65 + j % 26);
		}
		output << endl;
	}
}

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


标签:int,Vector,实验,output,include,ptr,size
From: https://www.cnblogs.com/moliqi1/p/17908302.html

相关文章

  • 实验三-电子公文传输系统1-个人贡献
    实验三-电子公文传输系统1-个人贡献任务详情1简述你完成的工作2你们小组总共的代码行数,你贡献的代码行数?相关代码链接?3你们小组总共的文档数?你贡献的文档数?相关链接?主要处理完成的工作1我完成了项目冲刺的5和6两天的实现情况的撰写,编写了部分后端代码和系统的使用指南2......
  • 实验6
    任务1:#define_CRT_SECURE_NO_WARNINGS//P286例8.17//对教材上的程序作了微调整,把输出学生信息单独编写成一个函数模块//打印不及格学生信息和所有学生信息程分别调用#include<stdio.h>#include<string.h>#defineN 3 //运行程序输入测试时,可以把这个数组改小一......
  • 实验7_文件应用编程
    4.task_4 1#include<stdio.h>2#include<string.h>3#defineN1000045intmain()6{7intcount,i,t=0;8charx[N];9FILE*fp;10fp=fopen("D:\\data4.txt","r");11while(!feof(fp))......
  • 实验6
    实验1代码1//P286例8.172//对教材上的程序作了微调整,把输出学生信息单独编写成一个函数模块3//打印不及格学生信息和所有学生信息程分别调用45#include<stdio.h>6#include<string.h>7#defineN3//运行程序输入测试时,可以把这个数......
  • 实验三-电子公文传输系统1-个人贡献
    个人贡献1、简述你完成的工作部分前端代码及文档撰写github项目管理协助设计系统前端布局2、你们小组总共的代码行数,你贡献的代码行数?相关代码链接?贡献的代码行数:985https://github.com/hexaosf/codegramhttps://github.com/hexaosf/codegram/blob/608d2056e40859360e0ea6......
  • 人工智能-A*算法-最优路径搜索实验
    上次学会了《A*算法-八数码问题》,初步了解了A*算法的原理,本次再用A*算法完成一个最优路径搜索实验。 一、实验内容1.设计自己的启发式函数。2.在网格地图中,设计部分障碍物。3.实现A*算法,搜索一条最优路径。 二、A*算法实现步骤1.初始化:设置起始节点和目标节点,并创建一......
  • 2023-2024-1 20211327 实验三-电子公文传输系统1-个人贡献
    简述工作在项目前期,我撰写了部分博客,作为组长分配任务设计项目整体框架结构,完成vue全局过滤器的声明和相关设置撰写了普通用户(非管理员)增删改查部分的代码,对jsp和html等前端代码进行修改和完善对数据库部分相关代码进行补充进行系统测试任务摘录全局过滤器我们的公文传......
  • 实验三-电子公文传输系统1-个人贡献
      1简述你完成的工作作为组员,和其他组员相互配合,听从组长的安排,合理高效完成任务。参与组内文档的撰写工作。参与后端设计的代码编写以及前端设计的代码编写2你们小组总共的代码行数,你贡献的代码行数?相关代码链接?总共代码行数为55352行,其中大部分是gitee上的代码,我们组......
  • 实验6 模板类、文件IO和异常处理
    四、实验结论1.实验任务4Vector.hpp#pragmaonce#include<iostream>#include<stdexcept>usingnamespacestd;template<typenameT>classVector{private:T*data;intsize;public:Vector(intsz=0,constT&value......
  • 实验三-电子公文传输系统1-个人贡献
    一、任务详情简述你完成的工作你们小组总共的代码行数,你贡献的代码行数?相关代码链接?你们小组总共的文档数?你贡献的文档数?相关链接?二、简述你完成的工作我主要负责前端的页面设计和与后端同学对接的工作。以及上传GitHub和每日总结绘制燃尽图。三、你们小组总共的代码行数,......