C++
Easadon
The one who can beat me is only me.
展开
-
有坑踩一踩 一 除数为0
今天分享一下一个C++程序的坑在填坑之前,大家先比对一下下面三个程序的内容和输出:相信大家从小学开始,老师就教我们,0是不可以作为除数的,那么上面的程序,第一个和第三个为什么可以正常运行,还能输出结果呢?在这里,可能需要涉及到一个小小的知识点,就是double类型或者float类型的0,在内存中的存储,其实并不是真正的0,而已一个极其小的数,所以,当一个整数除以一个极其小的数时,得到的结果就是一个极大数。...原创 2020-09-30 15:10:41 · 338 阅读 · 0 评论 -
TCP/IP socket通信简单案例
server.cpp#include <iostream>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>#include <netinet/in.h>#include <unistd.h>using namespace std;原创 2020-09-06 17:39:54 · 386 阅读 · 0 评论 -
QT-按下按钮实现页面跳转
情景导入 当我们在做应用时,一般都会遇到需要跳转页面的情况,按下一个按钮,跳转到对应的功能界面 ;或者需要进行角色选择,选择不同的角色,进入不同的界面。今天就用QT简单实现一下上述内容内容描述(1)设计三个界面:主界面、用户界面、管理员界面(2)主界面描述:一个下拉框,实现角色的选择,一个登录按钮,点击后跳转到对应的界面(3)管理员界面:一个返回按钮,点击后返回主界面(4)用户界面 :一个返回按钮,点击后返回主界面效果图(1)主界面(2)选择角色 ...原创 2020-09-04 11:54:12 · 10120 阅读 · 0 评论 -
QT学习 http ----获取天气Json信息并解析以及下载文件并保存
1原创 2020-08-27 18:00:58 · 937 阅读 · 1 评论 -
QT学习 实时显示时间
今天完成一个实时显示时间的小demo先上DJ先上DJ先看一下效果以两种形式显示当前具体时间先附上代码,再总结一下核心代码(1) myweather.ui文件创建一个Label,ObjectName值为text;创建一个LCD Number,ObjectName为lcd。分别用于两种形式的显示 (2) myweather.h文件#ifndef MYWEATHER_H#define MYWEATHER_H#include <QMai...原创 2020-08-26 17:15:28 · 9381 阅读 · 1 评论 -
QT 信号和槽 简单实例
QT中使用信号和槽的机制完成对象之间的协同操作。信号可以理解某一动作或者时间的发生(触发),槽的话,也可以理解为另一个动作,原则上这两者都是函数举个例子:门铃响了(发射信号),去开门(执行槽)水开了(发射信号),关掉火(执行槽)我们通过一个简单的实例,来进行理解。首先自定义一个槽,完成某个动作(槽一般使用slots关键字进行修饰);设置一个按钮,将按钮按下作为信号。接下来,我们看一下具体代码先创建一个工程,各代码如下main.cpp#include "widget.原创 2020-08-25 16:12:08 · 1869 阅读 · 0 评论 -
OpenCV学习--读取视频帧并保存
#include <opencv2/opencv.hpp>#include <stdio.h>#include<iostream>#include <string> using namespace std;using namespace cv;int main(){ VideoCapture cap(0); VideoWriter wri; //将从设备或文件获得的帧写入指定的视频文件中 string .原创 2020-08-21 11:44:55 · 1054 阅读 · 0 评论 -
OpenCV学习--读取视频,保存为灰度视频
先上DJ 先上DJ先上代码#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int main(int, char **){ Mat in_frame, out_frame; const char win1[]="Grabbing...", win2[]="Recording..."; double fps=30;//每秒的帧数 ..原创 2020-08-20 17:39:48 · 2039 阅读 · 0 评论 -
STM32F103 之TFT显示屏动态显示数据
之前有个朋友问过,stm32在使用TFT显示屏的时候,知道如何显示一个数据,但是类似传感器这种数据的显示,是需要实时显示的,但是不知道如何刷新,他一开始使用的是clear()清屏函数,确实有点暴力,但是效果不咋地,而且网上查了一下也似乎没有很好的解答。于是我自己去试了一下,其实我之前也不怎么用显示屏的,所以具体其他方法我也没有深入研究,不过通过查看了显示屏的一些封装函数,想到了一种解决方案,就是在显示时使用叠加模式,显示数据之后,加一个延时,画上一个遮挡区域,再显示下一个数据,这样就可以实现显示屏上显示原创 2020-05-20 16:09:43 · 9497 阅读 · 6 评论 -
使用信号实现异步通知
#include<sys/types.h>#include<sys/stat.h>#include<stdio.h>#include<fcntl.h>#include<signal.h>#include<unistd.h>#define MAX_LEN 100void input_handler(int num...原创 2020-02-07 23:08:44 · 217 阅读 · 0 评论 -
用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { while(!stack1.empty()) { stack2.push(stack1.top()); stack1...原创 2019-05-25 17:43:47 · 100 阅读 · 0 评论 -
2.Add two number[leetcode] 【C++】
You are given twonon-emptylinked lists representing two non-negative integers. The digits are stored inreverse orderand each of their nodes contain a single digit. Add the two numbers and return i...原创 2019-05-29 19:30:37 · 132 阅读 · 0 评论 -
子串模糊匹配
从字符串string开始完整匹配子串sub,返回匹配到的字符个数。sub中如果出现'?'表示可以匹配一到三个除'\0'以外的任意字符。如果sub还有找不到匹配的字符,则说明不能完整匹配。如果能完整匹配,返回匹配到的字符个数,如果有多种匹配方式,返回匹配字符数最少的那个,如果不能完整匹配,返回-1输入描述:第一行输入字符串string,长度小于10000第二行输入子串s...原创 2019-08-11 16:59:31 · 1356 阅读 · 0 评论 -
【Leetcode C++】27.移除元素
给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两...原创 2019-08-29 18:23:02 · 254 阅读 · 0 评论 -
x&(x-1)用途
1.判断一个数转换成2进制之后1的个数注:每次进行一次x&(x-1) ,会把x最右边的1变为02.判断一个数是否为2的n次方注:一个数如果是2的n次方,那么应该是最高位为1,其余位为0,所以如果x&(x-1) == 0的话,说明x是2的n次方#include<iostream>using namespace std;void judge(int x...原创 2019-08-30 16:59:54 · 232 阅读 · 0 评论 -
C语言文件读写函数——fputc()、fgetc()
先准备好两个文件,一个读,一个写读文件内容为: 写文件内容为空: #include<iostream>#include<...原创 2019-09-18 16:24:54 · 338 阅读 · 0 评论 -
加法等式【牛客网】【c++】
题目描述设a、b、c 均是0 到9 之间的数字,abc、bcc 是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c 的值。输入描述:无。输出描述:每行输出3个数,分别表示abc的值,用一个空格隔开。/*1.本题可以利用深搜思想2.把a、b、c看成三个盒子,每次放进一个数字,三个盒子数字不能重复*/#include<iostream&...原创 2019-09-19 11:31:46 · 282 阅读 · 0 评论 -
奥数加法
算法从9个数中取出3个3位数其中两个3位数相加等于另一个3位数其中每位数字不能重复,即__ __ __ + __ __ __ = __ __ __/*1.利用深搜思想2.将9个位置看成9个盒子,分别放入不重复的数字,进而遍历所有可能性*/#include<iostream>using namespace std;int book[10] = {0};i...原创 2019-09-19 11:56:48 · 221 阅读 · 0 评论 -
迷宫问题【深搜学习】
输入:第一行有两个数m,n,m代表迷宫的行,n代表迷宫的列。接下来的n行m列为迷宫,0表示空地,1表示障碍物,最后一行4个数,前两个是迷宫入口的坐标,后两个是目的地的坐标eg:input:5 40 0 1 00 0 0 00 0 1 00 1 0 00 0 0 11 1 4 3output:7#include<iostream&...原创 2019-09-20 15:45:09 · 1168 阅读 · 0 评论 -
回调函数
最近在看LWIP,看到了回调函数,似乎没有系统的了解过回调函数,今天就简单学习总结一下1.含义先了解一下什么是回调函数,看一下百科的回答回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或...原创 2019-09-29 12:58:26 · 182 阅读 · 0 评论 -
3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.Example 1:Input: "abcabcbb"Output: 3 Explanation: The answer is "abc", with the length of 3. Example ...原创 2018-11-27 11:44:16 · 111 阅读 · 0 评论 -
从尾到头打印链表
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/...原创 2019-05-25 17:27:24 · 138 阅读 · 0 评论 -
对称平方数
题目描述打印所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121。输入描述:无输出描述:每行一个数,表示对称平方数。/*********************************************解题思路:*1.从1开始遍历到255.算出平方*2.将得到的整数转换为字符串*3.再将字符串逆置得到反向字符串*4.利用st...原创 2019-03-27 21:38:26 · 235 阅读 · 0 评论 -
字符串价值【C++】
题目描述有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值例如: 字符串"abacaba",里面包括4个'a',2个'b',1个'c',于是这个字符串的价值为4 * 4 + 2 * 2 + 1 * 1 = 21牛牛有一个字符串s,并且允许你从s中移除最多k个字符,你的目标是让得到的字符串的价值最小。输入描述:输入包括两行,第...原创 2019-02-16 11:11:19 · 386 阅读 · 0 评论 -
QT绘制计算器界面
#include <QApplication>#include <QWidget>#include <QLineEdit>#include <QPushButton>int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget *widget ...原创 2019-01-18 16:48:32 · 1320 阅读 · 0 评论 -
【蓝桥杯】基础练习 阶乘计算
问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了...原创 2018-12-06 22:01:59 · 374 阅读 · 1 评论 -
Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.An input string is valid if:Open brackets must be closed by the same type of b...原创 2018-12-03 23:21:57 · 108 阅读 · 0 评论 -
LeetCode 402. Remove K Digits
Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possible.Note:The length of num is less than 10002 and will be ≥ k....原创 2018-11-26 21:42:00 · 128 阅读 · 0 评论 -
指针与const限定符
1.如果指针指向一个const对象,那么不允许使用指针来改变所指的const值。(C++中强制要求指向const对象的指针也必须具有const特性)eg:const double *cptr这里的cptr是一个指向double类型的const对象的指针,const限定了cptr指针所指向的对象类型,而并非cptr本身,也就是说,cptr本身并不是const。在定义时不需要对他进行初始化...原创 2018-10-02 18:27:33 · 260 阅读 · 0 评论 -
C++中‘&’为什么不能取字符型变量的地址
今天突然发现一个奇怪的现象,就是在C++中用“&”是不能直接得到一个字符变量的地址的#include<iostream>using namespace std;int main(){ int a; char b; cout<<&a<<endl<<&b<<endl; printf("%p&quo原创 2018-08-07 13:56:29 · 1622 阅读 · 0 评论 -
free()以及malloc()用法
realloc,malloc,calloc的区别三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib.h函数库内它们的返回值都是请求系统分配的...转载 2018-07-15 20:31:07 · 442 阅读 · 0 评论 -
空中旅行【牛客网】
题目描述牛牛有羊羊有了属于他们自己的飞机。于是他们进行几次连续的飞行。f[i]表示第i次飞行所需的燃油的升数。飞行只能按照f数组所描述的顺序进行。起初飞机里有s升燃油,为了正常飞行,每次飞行前飞机内燃油量应大于等于此处飞行所需要的燃油量。请帮助他们计算在不进行加油的情况下他们能进行的飞行次数。输入描述:输入包括两行,第一行包括两个整数n和s(1 ≤ n ≤ 50, 1 ≤ s ≤ ...原创 2019-02-11 23:44:29 · 224 阅读 · 0 评论 -
38. Count and Say【leetcode】【C++】
The count-and-say sequence is the sequence of integers with the first five terms as following:1. 12. 113. 214. 12115. 1112211 is read off as "one 1" or 11.11 is read off ...原创 2019-02-12 00:29:33 · 145 阅读 · 0 评论 -
ZigZag Conversion【C++】
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S I I...原创 2019-02-12 22:50:52 · 176 阅读 · 0 评论 -
算法提高 快乐司机 【C++】
问题描述 "嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌“快乐的小司机”。话说现在当司机光有红心不行,还要多拉快跑。多拉不是超载,是要让所载货物价值最大,特别是在当前油价日新月异的时候。司机所拉货物为散货,如大米、面粉、沙石、泥土...... 现在知道了汽车核载重量为w,可供选择的物品的数量n。每个物品的重量为gi,价值为p...原创 2019-03-23 19:36:43 · 403 阅读 · 0 评论 -
算法训练 未名湖边的烦恼【c++】
问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式 两个整数,表示m和n输出格式...原创 2019-03-23 17:40:18 · 383 阅读 · 0 评论 -
算法训练 2的次幂表示
问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示) 3=2+2^0 ...原创 2019-03-23 16:17:33 · 166 阅读 · 0 评论 -
算法训练 数字三角形
问题描述 (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大。 ●每一步可沿左斜线向下或右斜线向下走; ●1<三角形行数≤100; ●三角形中的数字为整数0,1,…99; . (图3.1-1)输入格式 文件中首先读到的是三角形的行数。 接下来描述整个三角形输出格式 最大总和(整数)...原创 2019-03-23 15:29:45 · 235 阅读 · 0 评论 -
算法训练 素因子去重
问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1输入格式 一个整数,表示n输出格式 输出一行,包含一个整数p。样例输入1000样例输出10数据规模和约定 n<=10^12 样例解释:n=1000=2^3*5*3,p=2*5=10/**************************...原创 2019-03-20 14:12:15 · 155 阅读 · 0 评论 -
算法训练 区间k大数查询
问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答案。...原创 2019-03-20 13:55:24 · 117 阅读 · 0 评论