日期统计
日期统计 问题描述小蓝现在有一个长度为100的数组,数组中的每个元素的值都在0到9的范围之内。数组中的元素从左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 3 8 5 1 6 3 4 6 7 0 7 8 2 7 6 8 9 5 6 5 6 1 4 0 1 0 0 9 4 8 0 9 1 2 8 5 0 2 5 3 3 现在他想要从这个数组中寻找一些满足以下条件的子序列: 子序列的长度为 8 这个子序列可以按照下标顺序组成一个 yyyymmdd 格式的日期,并且要求这个日期是 2023 年中的某一天的日期,例如 20230902,20231223。yyyy 表示年份,mm 表示月份,dd 表示天数,当月份或者天数的长度只有一位时需要一个前导零补充。请你帮小蓝计算下按上述条件一共能找到多少个不同的 2023...
C++中的IO
摘要介绍了C++中的输入输出(IO)操作,包括流的概念、格式化输入输出、文件流操作(文本文件和二进制文件)、随机文件访问,以及自定义I/O操作符的方法,涵盖了从基础到高级的文件处理技术。 目录[TOC] C++ I/O流及流类库流流的概念 输入/输出操作可以看作是数据的有向流动,即数据从一个设备(源)流向另一个设备(目标) 流实际上是一种对象,它在使用前被建立,使用后被删除。数据的输入/输出操作就是从流中提取数据或者向流中添加数据 通常把从流中提取数据的操作称为析取,即读操作;向流中添加数据的操作称为插入操作,即写操作。 完成输入/输出操作的类称为流类 众多流类组成流类库,C++中利用继承组织流类库的类层次 C++预定义I/O对象 对 象 定 义 说 明 ostream cout; cout与标准输出设备相关联 ostream cerr; cerr与标准错误输出设备相关联(非缓冲方式) ostream clog; clog与标准错误输出设备相关联(缓冲方式) istream...
多态
摘要介绍了C++中的多态性,包括编译时多态(函数重载、运算符重载)和运行时多态(虚函数、动态绑定),并详细讲解了纯虚函数和抽象类的概念及其应用。 目录[TOC] 程序的多态性多态的含义在程序中同一符号或名字在不同情况下具有不同解释 两种最基本的形式编译时的多态指在程序编译阶段即可确定下来的多态性 由重载机制实现: 函数重载 运算符重载 运行时的多态指必须等到程序动态运行时才可确定的多态性 由动态绑定实现: 继承 + 虚函数 重载C++...
派生与继承
摘要介绍了C++中的派生与继承,包括单继承、多重继承、重复继承、虚基类机制,以及构造函数和析构函数的调用顺序,同时讲解了赋值兼容性规则和访问控制。 目录[TOC] 继承面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。 当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。 继承代表了 is a 关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。 代码如下: 12345678910// 基类class Animal { // eat() 函数 // sleep() 函数};//派生类class Dog : public Animal { // bark() 函数}; 基类 &...
复杂形式的类与对象
摘要介绍了C++中复杂形式的类与对象,包括对象数组、对象指针、this指针、拷贝构造函数、向函数传递对象的方法,以及常类型(常引用、常对象、常成员函数、常数据成员)的使用和注意事项。 目录[TOC] 对象数组与对象指针对象数组所谓对象数组就是每一数组元素都是对象的数组。 定义一个一维数组的格式如下: 类名 数组名[下标表达式]; 123456789101112131415161718#include<iostream>class exam{ public: void set_x(int n){ x=n; } int get_x(){ return x; } private: int x;};main(){ exam ob[4]; //对象数组 int i; for (i=0;i<4;i++) ob[i].set_x(i); for (i=0;i<4;i++)...
类与简单的对象
摘要介绍了C++中对象与类的基本概念与实践,从对象的定义、属性与行为,到类的构造/析构、访问控制、友元机制及组合关系。 目录[TOC] 对象基本概念在现实世界中,对象就是我们认识世界的基本单元。对象可以是: 有形的具体存在的事物例如:一辆车、一个球、一个小学生; 无形的、抽象的事件例如:一次演出、一场球赛等。 特性 每一个对象必须有一个名字以区别其它对象; 用属性来描述对象的某些特征; 有一组操作,每一个操作决定对象的一种行为; 对象的操作可以分为两类:1) 自身所承受的操作2) 施加于其他对象的操作 例子对象名:洗衣机对象的属性: 生产厂家:海尔 机器编号:JSG14 出厂日期:2008.05.06对象的操作(行为):启动、暂停、选择 面向对象程序设计中的对象对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。对象可以认为是:数据+操作在面向对象程序设计中,用数据来体现上面提到的“属性”,用函数来实现对数据的操作,以实现某些功能。 类概念“类”是对一组具有共同的属性和行为的对象的抽象。 例子教师黎明是一个对象。 对象名:...
C++概述
摘要概述了C++的核心概念与实用技巧,从变量定义和常量处理(如用const替代#define)到函数设计(内联函数、缺省参数、重载)以及内存管理(new/delete、malloc/free)、引用与指针等。 目录[TOC] 结构、联合、枚举名称直接做类型名C++在中定义变量时说明为: 12345bool done;string str;number x; C中必须写成: 12345enum boole done;struct string str;union number x; 使用const代替#define在C中习惯使用#define来定义常量, 例如 :#define N 100实际上这种方法只是在预编译时进行了字符置换, 把程序中出现的标识符N 全部置换成100. 在预编译之后, 程序中不再有N这个标识符. N不是变量,没有类型, 不占存储单元, 且易出错 .C++中提供了一种更灵活, 更安全的方式来定义常量, 即使用const修饰符来定义常量, 例如 :const int N = 100;这个常量是有类型, 占用存储单元有地址, 可以用指针指向它,...
多电机控制
多电机控制 工程训练IIB 风力摆A组-多电机控制 天津理工大学 作者:TheWindSing 版本:1.1 时间:2024-1-6 器件说明主控单片机型号:STC89C52RC 参考:宏晶 STC89C52RC 微控制器实践小书 51最小系统图: 接口图: 电机驱动芯片型号:TC1508A 实物图: 其他 杜邦线若干 几个不确定阻值的电阻 1个按钮开关 功能实现单电机单向控制在Keil中新建STC工程: 一般直接安转完Keil软件中是没有STC的数据库,所以需要我们手动添加。 部分转载KEIL中怎样添加STC系列单片机 打开STC-ISP软件,然后点击Keil仿真设置,点击添加型号和头文件到Keil中 添加STC仿真器驱动到Keil中。 如下图: 之后弹出这个方框,选择好路径。 选择你Keil软件安装的路径! 打开Keil软件,选择新建工程,它就会弹出下面这个界面,这时候就可以选择STC MCU...
离散控制系统
离散控制系统T1题目 程序1234567891011121314151617181920212223% 定义模拟调节器的传递函数num = [1 0];den = [1 1];T = 1; % 采样周期D = tf(num, den); % 使用零极点匹配法求出数字控制器的脉冲传递函数 D(z)Dz = c2d(D, T, 'zoh')% 写出其差分方程[numDz, denDz] = tfdata(Dz, 'v');% 使用迭代法求差分方程的输出曲线N = 100; % 定义迭代次数y = zeros(N, 1);y(1) = 1; % 初始值u = ones(N, 1); % 输入为单位阶跃函数for k = 2:N y(k) = -denDz(2)*y(k-1) + numDz(1)*u(k) + numDz(2)*u(k-1);end% 使用“step()”函数绘制 D(z)的输出曲线figure;step(Dz);hold on;plot(y,...
从鸡兔同笼讲解方程组
题目:《孙子算经》卷下31:今有鸡兔同笼,上有三十五头,下有九十四足。问鸡、兔各几何? ^[《算经十书》P320]提示:本题可按n元一次方程组来求解(高斯消元法)。编写具有一定通用性的解方程的函数(假设n不超过20)。可参考《数值分析》方面的资料来确定求解方法。 讲解:为了解决这个问题,我们可以使用线性代数方法求解n元一次方程组。在这个特定的例子中,我们有一个二元一次方程组: x + y = 352x + 4y = 94 其中x表示鸡的数量,y表示兔子的数量。 我们可以使用高斯消元法来求解这个方程组。以下是一个C语言程序,它使用高斯消元法求解给定的二元一次方程组: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include <stdio.h>#include <stdlib.h>#define N 2void gaussian_elimination(double a[N][N + 1],...