![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 55
记录C/c++学习过程中的遇到的问题及其处理方法
思禾
n年c
展开
-
打败魔王(这是2022中兴捧月打榜的一道题)
小明和小红是两位魔法师,他们一起在一张N*N的方格地图上冒险(N<=9)去击败魔王,地图中的方格代表他们所走的路径,方格中的正整数代表可获得的法力值,而其他的方格中的数字为0代表无法获得法力值,如下图所示(见样例):他们二人从图上的起点出发,为了更快的打败魔王,他只能向右或者向下前进,直到到达下方的魔王城。在走过的路上,他们能够获得地图里的数字(获取后地图中将变为数字0)变为法力值。小明先从起点出发走到魔王城,然后小红再出发到达魔王城,为了更好的对抗魔王,请你帮帮2位魔法师使其获得的法力值为最大。原创 2022-05-08 19:39:01 · 919 阅读 · 3 评论 -
http 轻型服务器
总结:总的来说,http服务器就是一个tcp服务器,在tcp服务器创建成功之后,通过向浏览器(客户端)发送html页面进行显示的过程。服务器端代码:#include<stdio.h>#include<WinSock2.h> //包含网路编程头文件#pragma comment(lib,"ws2_32.lib") //添加一个表库using namespace std;void sendhtml(SOCKET s,const char* filename);con原创 2021-10-09 11:22:50 · 179 阅读 · 0 评论 -
linux线程
文章目录1、获取进程id和线程id1、获取进程id和线程id#include <stdio.h>#include <pthread.h>#include <stdlib.h>#include <unistd.h>#include <string.h>int main(){ //获取进程ID pid_t pid; pid = getpid(); //获取线程ID pthread_t tid;原创 2021-09-26 15:47:47 · 155 阅读 · 0 评论 -
c++万字长文总结、收藏你绝对不会后悔
文章目录1、const1.1、const修饰指针--常量指针1.2、const修饰常量--指针常量1.3、const修饰指针又修饰常量2、结构体2.1、结构体定义2.2、结构体数组2.3、结构体指针1、const1.1、const修饰指针–常量指针int a = 10;const int *p = &a;特点:常量指针:指针的指向可以修改,但是指针指向的值不可以修改1.2、const修饰常量–指针常量int a = 10;int * const p = &a;特点:指原创 2021-09-13 16:09:00 · 511 阅读 · 2 评论 -
c++常用算法总结
文章目录1、Dijkstra1、Dijkstra介绍:求源点到其他所有点的最短路径实例模板:函数使用介绍:第一个参数:为所有边权集合:eg:times = [[2,1,1],[2,3,1],[3,4,1]] ,解释【2,1,1】表示2到1点的距离为1,其他类似第二个参数:表示有多少个节点第三个参数表源点是第几个节点函数返回一个距离数组,如dist[i]表源节点到i点的最短距离。使用注意事项:函数返回的dist数组,下表0位置未使用,因此从1-n才是有意义的值vector<int&原创 2021-08-10 21:28:53 · 772 阅读 · 3 评论 -
SSD+LBP实现人脸识别
#include<opencv2/opencv.hpp>#include <iostream>#include<opencv2/face.hpp>#include<opencv2/dnn.hpp>#include <string>#include<io.h>#include <fstream>using namespace std;using namespace cv;using namespace cv原创 2021-08-08 20:49:54 · 1414 阅读 · 0 评论 -
vs提示函数不安全或者某个函数返回值被忽略或其他警告
解决方法:解决方案,项目 =》属性 =》c/c++ =》预处理器=》点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS,即可。如果上述定义之后还提示有问题,在将sdl检查关闭:项目 =》属性 =》c/c++ =》常规》SDL检查改成否...原创 2021-08-02 22:01:36 · 994 阅读 · 0 评论 -
win创建TCP客户端,远程接收客户端命令打开本地应用
通过在本地创建一个tcp服务端代码,然后接收远程客户端的命令,当接收1时打开一个应用,接收二时候关闭当前应用打开另一个应用,接收3时打开另外的应用。完整代码:/*服务器编程思路:初始化套接字库1、创建套接字socket(socket)地址处理以及端口处理2、创建的套接字绑定(bind)到本地的地址和端口上3、设置套接字的状态为监听(listen),准备接受客户端的连接请求4、接受请求(accpet),同时返回得到一个用于连接的新套接字5、使用这个新套接字进行通信(通信函数使用send/转载 2021-06-20 21:22:24 · 290 阅读 · 0 评论 -
win中通过c++打开可执行程序
1、方式一调用WinExec函数:EG:#include<iostream>//#include <shlobj.h>#include<string.h>#include <windows.h>#include <shellapi.h>#pragma comment(lib, "Kernel32.lib")using namespace std;#include <tchar.h>int main(){ Win原创 2021-06-20 21:15:07 · 2547 阅读 · 4 评论 -
VS Code配置开发环境时出现“未定义标识符”
问题描述:VS Code中出现“未定义标识符”,可以右键“转到声明”,但会一直出现红色提醒。问题原因:VS Code intellisense不能自动找到需要的头文件路径,需要在用户设置中强制intellisense使用Tag Parser,递归方式检索头文件。解决方式:找到工程对应的settings.json,并复制以下两个语句,在其中配置使用Tag Parser方式。 "C_Cpp.intelliSenseEngineFallback": "Disabled", //需要添加的 "C_转载 2021-06-10 08:55:57 · 10764 阅读 · 12 评论 -
leetcode-2-两数相加
1.题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9],原创 2021-06-03 15:17:10 · 138 阅读 · 0 评论 -
vscode通过ssh远程配置c++编译及调试(多文件)
1、下载插件c/c++2、创建文件夹其中:cpp用来存放cpp源码fill用来存放生成的可执行文件include用来存放头文件test.cpp为主函数入口,放在最外面,方便点击。3、编写源代码在编写主函数之前,我们先来创建一个头文件和其对应的源文件:在include中创建一个名为test.h的头文件在cpp中创建一个名为te.cpp的与之对应的源文件这里之所以不将两者名字取为一样,主要是想在配置过程中讲的更清楚一点。在te.cpp中写一个两数求和的代码:#include"i原创 2021-06-02 11:33:57 · 3353 阅读 · 1 评论 -
leetcode-1-两数之和
1、解题思路直接暴力求解:使用一个二重循环,从前向后进行扫描整个数组:完整代码如下:#include<iostream>#include<vector>using namespace std;class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { for(int i=0;i<nums.size()-1;i++) for (i原创 2021-05-28 16:06:54 · 64 阅读 · 0 评论 -
蓝桥杯2020 A组 C++
蓝桥杯2020 A组 C++结果填空A、跑步训练【问题】小明要做一个跑步训练。 初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟损耗600的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达0,他就停止锻炼。 请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。 答案中只填写数,不填写单位。【题解】暴力题解int main(){ in原创 2021-03-29 20:24:08 · 236 阅读 · 0 评论 -
C++引用和地址
C++引用和地址引用不是对象,他只是被绑定对象的一个别称,可以理解为变量(对象)的另外一个名字,因此,应用不是对象,单引用具有地址,他和被绑定的对象的地址一样,同样可以获取。示列代码:int QuickDemo::yingyong_test(Mat &image) { int a = 10; int &b = a; int *ptr = &b; std::cout << *ptr << std::endl; *ptr = 8; std::co原创 2020-11-24 08:59:02 · 1868 阅读 · 1 评论 -
c语言拷贝函数之memcpy与memmove
1. 先看函数原型 memcpy(void * __restrict__ _Dst,const void * __restrict__ _Src,size_t _Size)memmove(void *_Dst,const void *_Src,size_t _Size)_Dst拷贝的目标地址_Src拷贝的源地址_Size拷贝的数据长度,以字节为单位2:区别分析 由上面1可知,两个函数间参数几乎没有区别,唯一的差别仅有__restrict__ 关键字指出。原创 2020-11-11 14:59:58 · 339 阅读 · 0 评论 -
c语言之qsort(快排)
c语言之qsort(快排)1.先看函数原型 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 参数描述: 1. 1. base -- 指向要排序的数组的第一个元素的指针。 2. nitems -- 由 base 指向的数组中元素的个数。 3. size -- 数组中每个元素的大小,以字节为单位。 4. compar -- 用来比较两个元素的函数。2.可排原创 2020-11-09 09:27:24 · 237 阅读 · 0 评论 -
c++大数相乘
一、c++实现大数相乘1、为甚需要大数相乘c++中由于int和flot的限制,在进行许多数相乘的时候,常常会出现超范围的情况,对于这种现象,我们就需要采用分治的思想,将其进行一位一位的处理,然后将其转换为字符串进行输出。二、实现思想将输入的两个数当成字符串,然后申请两个能够容纳两个字符串长度的数组,将其进行逆序存放,然后在申请一个能够容纳两个数据相乘之后的结果数组,这里要注意,结果数组长度最大不会草超过两个数据长度之和,因此在申请内存的时候,我们尽量不要申请太多(节约运算时间),结果数据中的值满足以原创 2021-05-12 10:10:29 · 5932 阅读 · 1 评论 -
c++实现求两数最大公倍数
c++实现求两数最大公倍数1、什么是最大公倍数? 最大公因数就是一个数或两个数的共同因数,并且是最大的。比如说45 和 15 这两个数,其最大公倍数就是15本身。2、递归原创 2021-05-12 10:10:49 · 1411 阅读 · 1 评论 -
c++实现组合
c++递归实现组合一、什么是组合? 组合就是在给定的序列中任选k个数的过程,比如举个简单的例子,给定数组 arr[3] = {1,2,3},我们要在arr中任意选择两个数,也即 C32 = 32/21= 3种,分别对应的组合为:(1 2)(1 3 )(2 3),这里不考虑重复,也即(2 3)和(3 2)认为是一个组合二、实现思想 这里主要采用的实现思想是通过固定当前一个位置,然后向后进行选择,直到选到给定k个数为止,然后进行下一次递归。三、代码模板模板代码如下(示例):void原创 2021-05-12 10:11:02 · 2744 阅读 · 1 评论 -
c++之排列
c++递归实现全排列一、什么是全排列? 排列就是将给定序列进行任意组合,比如举个简单的例子,给定数组 arr[3] = {1,2,3},那么1,2,3的不同排列就有A33 = 321 = 6种,分别对应的组合为:(1 2 3)(1 3 2)(3 2 1)(3 1 2)(2 1 3)(2 3 1)二、实现思想 这里主要采用的实现思想是每次两两交换,然后依次递归,直到考虑到最后一个位置为止,因为要进行递归,因此这里在交换两数之后进行递归之后一定要记得进行回溯,不然就会导致其递归是在前一个序列基础之上的原创 2021-05-12 10:11:13 · 810 阅读 · 0 评论