
C/C++
JIN_嫣熙
Life is sad at times, but it is up to you to make your own life happy.
展开
-
【OpenCV】计算围棋相同颜色棋子的块数和坐标(使用深/广度搜索实现4邻域查找)
1、问题描述:给定一个n*n的围棋盘,交叉点上分布着黑,白子或空白(分别用字符b,w和 n表示),相同颜色的棋子在同行或同列相连属于同一块棋,请遍历整个围棋盘,计算黑白棋各有几块。输入:第一行只有一个整数n(0<n<20),表示棋盘的大小。接下来n行中,包含n个字符,分别用字符b,w和 n表示黑,白子或空白。输出:两个整数,分别表示黑,白棋各有几块。 打印出属于同一区域的棋...原创 2019-02-22 14:36:33 · 2281 阅读 · 0 评论 -
牛客网在线编程题之“换汽水”
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 以下代码均根据...原创 2018-11-30 22:52:27 · 266 阅读 · 0 评论 -
计算字符串最后一个单词的长度,单词以空格隔开
以下代码均独立实现,空间或效率方面的可优化点,欢迎交流讨论。#include <iostream>#include <string> using namespace std; int main(){ char inStr[100]; //cin>>inStr; //碰到空格就结束 gets(inStr); /...原创 2018-11-30 22:49:16 · 9652 阅读 · 0 评论 -
数据结构之二叉树
非常经典的二叉树总结,分享如下。转自:51CTO博客作者天山老妖S,http://blog.51cto.com/9291927/2083190。数据结构(十四)——二叉树一、二叉树简介1、二叉树简介二叉树是由n(n>=0)个结点组成的有序集合,集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。二叉树的五种形态:2、二叉树的存储结构模...转载 2018-11-17 16:10:18 · 309 阅读 · 0 评论 -
fatal error C1900: Il mismatch between 'P1' version '20060201' and 'P2' version '20050411'
fatal error C1900: Il mismatch between 'P1' version '20060201' and 'P2' version '20050411'问题现象及解决办法。问题现象:解决步骤:原创 2018-11-19 17:11:20 · 2276 阅读 · 0 评论 -
OpenCV中6种访问Mat元素的方法
Mat中不管是以at访问还是ptr访问,都是行优先 ,先Y轴后X轴(即先行后列)1、使用at访问/**OpenCV2中Mat的at操作访问矩阵元素**/#include <highgui.h>using namespace std ;using namespace cv ;int main(){ Mat image = imread("forest.j...转载 2018-11-21 11:39:40 · 34117 阅读 · 4 评论 -
【机器学习】HOG detectMultiScale 参数分析
前段时间学习了HOG描述子及其与SVM结合在行人检测方面的应用。当我们用训练好的模型去检测测试图像时,我们会用到detectMultiScale() 这个函数来对图像进行多尺度检测。这是opencv3.1里的参数解释可以看到一共有8个参数。1.img(必需)这个不用多解释,显然是要输入的图像。图像可以是彩色也可以是灰度的。2.foundLocations存取检测到的...转载 2018-11-13 11:23:01 · 1421 阅读 · 0 评论 -
C++的error C2668: 'pow' : ambiguous call to overloaded function错误原因及解决方法
1、错误代码#include <iostream>#include <cmath>using namespace std;int main(){ float a; a = pow(10, 2); cout<<"pow(10,2) = "<<a<<endl; cin.get(); return 0;}...原创 2018-11-02 11:00:08 · 6703 阅读 · 1 评论 -
C++三角函数用法错误error C2668: 'tan' : ambiguous call to overloaded function原因及解决方法
注意tan、atan等三角函数不能接受整数,如:tan(1)会报错“error C2668: 'tan' : ambiguous call to overloaded function” ,改为浮点型即可正确计算。1、错误代码如下:#include <iostream>#include <cmath>using namespace std;#define ...原创 2018-11-01 14:28:55 · 2311 阅读 · 0 评论 -
在线编程题之“明明的随机数”
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。以下代码均根据个人逻辑独立实...原创 2018-11-30 22:56:04 · 245 阅读 · 0 评论 -
牛客网在线编程之“字符串分割”
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 以下代码均根据个人逻辑独立实现,空间或效率未必最优,欢迎批评指正。#include <iostream>#include <string>#include <stdio.h> using namespace st...原创 2018-12-01 23:04:46 · 860 阅读 · 0 评论 -
【C++】error C2512: 'Adder' : no appropriate default constructor available
1、出现错误的代码#include <iostream>using namespace std;class Adder{public: // 构造函数 Adder(int i) { total = i; } // 对外的接口 void addNum(int number) { total += number; } // 对外的接口 int ge...原创 2018-12-11 14:48:10 · 1936 阅读 · 0 评论 -
【C++】not accessible because 'Rectangle' uses 'private' to inherit from 'Shape'
1、错误代码#include <iostream>using namespace std;// 基类class Shape {public: void setWidth(int w) { width = w; } void setHeight(int h) { height = h; }protected: int width; int he...原创 2018-12-11 14:14:13 · 397 阅读 · 0 评论 -
【C/C++】将二个有序数组合并
1、同时循环取2个数组中的数,比较2个数组的第1个数,谁小把谁放入新数组;2、再把数字小的数组往后继续取数字;3、如果有数组遍历完,就把另一个数组的剩余数据全部赋给新数组即可。代码如下:#include <iostream>using namespace std;void mergeSort(int *a, int m, int *b, int n, int ...原创 2018-12-17 16:45:17 · 979 阅读 · 0 评论 -
二分查找算法与向量的赋值方法
#include <iostream>#include<vector>using namespace std;#define ARRAY_SIZE 10class Solution{public: int binSearch(vector<int>nums, int val) { int low=0, high=nums.size()...原创 2018-12-17 16:09:19 · 315 阅读 · 0 评论 -
【C++】cannot access private member declared in class 'Box'
私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。1、问题代码#include <iostream>using namespace std;class Box{private: double length; //长度 double width; //宽度 double height; //高度};int main()...原创 2018-12-11 11:43:49 · 6825 阅读 · 3 评论 -
手撸线性最小二乘计算公式
最近做车道线检测项目,需要对提取车道线特征后的二值图进行车道线方程拟合,用到了最小二乘拟合算法。由于仅仅实现车道偏离报警功能,故使用一次拟合。为了加深对最小二乘拟合算法的认识,手动撸一把推导过程。代码可见:https://blog.youkuaiyun.com/zkw12312/article/details/78783939一元线性回归模型与最小二乘法及其C++实现...原创 2018-12-06 20:40:48 · 1129 阅读 · 0 评论 -
创建多级目录函数MakeSureDirectoryPathExists()所需头文件
1、使用函数MakeSureDirectoryPathExists()需要添加的头文件和lib库如下:#include <ImageHlp.h> #pragma comment(lib,"imagehlp.lib") 否则报错:1>------ Build started: Project: newStart, Configuration: Debug Wi...原创 2018-12-03 17:20:45 · 2127 阅读 · 2 评论 -
假设楼梯一共n层,每次只能跑爬1层或2层,有多少种不同方法爬到顶?
#include <iostream>using namespace std;int climbStairs(int n){ if(n <= 1) return 1; if (n == 2) return 2; int p=1; int q=2; int curr; for(int i=3; i<=n; ++i) { curr = p+...原创 2018-12-05 10:47:17 · 3609 阅读 · 0 评论 -
C++中tan、atan、sin、cos等三角函数用法的代码演示及结果,注意角度和弧度的转换!
进行相机坐标系相关公式推导时,经常碰到三角函数的使用。时间一长就生疏,碰到问题再查,很费时间。所以就总结一下,也希望能帮到更多的人。下面就通过简练的代码,把常用的cos、sin、tan、atan等通过代码及结果都说清楚。注意弧度和角度的区别!!!1、代码#include <iostream>#include <cmath>using namespace st...原创 2018-11-01 14:19:01 · 52093 阅读 · 0 评论 -
【机器学习】HOG+SVM进行车辆检测的流程及源码
在进行机器学习检测车道线时,参考了这篇博文,基于LBP+SVM实现了车道线检测的初步效果。觉得讲解很到位,代码也容易理解和修改,故在此分享,供更多人学习。HOG SVM 车辆检测 近期需要对卡口车辆的车脸进行检测,首先选用一个常规的检测方法即是hog特征与SVM,Hog特征是由dalal在2005年提出的用于道路中行人检测的方法,并且取的了不错的识别效果。在人脸检测方面目前主流的方法,先...转载 2018-10-30 10:44:20 · 10044 阅读 · 78 评论 -
【机器学习】基于opencv实现目标检测,error LNK2001: unresolved external symbol "public: virtual bool CvSVM::train...
1、链接错误如下:2、错误原因opencv的工程属性中没有添加机器学习库。3、解决办法添加依赖库:opencv_ml231.lib,如下截图:原创 2018-10-24 16:38:18 · 395 阅读 · 0 评论 -
【C/C++】代码优化技巧
转自:http://www.cnblogs.com/lizhenghn/p/3969531.html1. 牢记Ahmdal定律 funccost表示是函数func的运行时间百分比,funcspeedup是你优化后函数的运行系数; 所以,如果函数TriangleIntersect()占用40%的运行时间,而在你优化后使它运行快了两倍,那么你的程序运行能...转载 2018-07-18 21:22:34 · 1705 阅读 · 0 评论 -
【C/C++】如何判断文件夹或者文件是否存在
方法一:access函数判断文件夹或者文件是否存在函数原型: int access(const char *filename, int mode);所属头文件:io.hfilename:可以填写文件夹路径或者文件路径mode:0 (F_OK) 只判断是否存在 2 (R_OK) 判断写入权限 4 (W_OK) 判断读取权限 ...转载 2018-07-18 21:10:15 · 3009 阅读 · 0 评论 -
基于USES_CONVERSION的W2A用法之CString转char
使用MFC制作简单界面时,常会加载本地文件路径,但是获取的路径格式是CString,使用流文件进行读取时需要char或String型的路径,需进行CString到char/String类型转化。正确的处理办法是:使用W2A函数,使用该函数需要加载USES_CONVERSION,具体用法如下:int vData;string tmpData;CString m_dataPath;...原创 2018-07-18 21:04:54 · 927 阅读 · 0 评论 -
把txt中的数据读出并保存到数组中
以下代码演示如何把txt中数字,读出并保存到数组中。原创 2018-06-16 10:21:29 · 4534 阅读 · 0 评论 -
【C/C++】lib 和 dll 的区别、生成以及使用详解
VS开发多功能模块的项目时,负责不同模块的人员因为权限问题,不能拿到所有源码,但又需要进行功能模块的融合,这就需要使用dll、lib进行“代码共享”。在学习dll和lib时,找到了篇讲解十分详细的博文,因此转载供自己和更多的人学习,原文链接分享如下:http://www.cnblogs.com/TenosDoIt/p/3203137.html,感谢原博主的精心总结。-----------...转载 2018-07-12 11:40:34 · 1833 阅读 · 0 评论 -
【C/C++】运算结果出现1.#Q0问题分析
打印代码结果时发现出现了1.#Q0,就在网上搜索,发现相关的中文资料介绍很少,在stackoverflow上找到了个提问(https://stackoverflow.com/questions/5939573/what-float-value-makes-sprintf-s-produce-1-qo),虽然不完全相同,但还是按照介绍逐步分析,排查其中的原因。char dispParams[100]...原创 2018-07-04 19:44:10 · 3310 阅读 · 0 评论 -
【VS2005】error LNK2001: unresolved external symbol _main 正确解决办法
VS2005,release下编译提示错误如下:MSVCRT.lib(crtexe.obj): errorLNK2001: unresolved external symbol _main检索到的解决办法:[Project] -->[Settings] --> 选择"Link"属性页, 在Project Options中将/subsystem:console改成/subsystem:w...原创 2018-07-11 12:41:11 · 3032 阅读 · 0 评论 -
【C/C++】“std::basic_ios _Elem,_Traits:无法访问private变量在类中的声明”错误原因与解决办法
C++工程出现如下错误:c:\program files (x86)\microsoft visual studio 8\vc\include\fstream(675) : error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class ...原创 2018-07-17 14:49:14 · 613 阅读 · 0 评论 -
【C++】欧几里德算法快速求最大公约数
问题描述:如何快速求解2个正整数的最大公约数。欧几里德(Euclid)算法,也既常说的“辗转相除法”,用于计算2个正整数的最大公约数(Greatest Common Divisor),计算公式:gcd(a,b) = gcd(b,a mod b);代码实现如下:#include <iostream>using namespace std;int gcd(int m...原创 2018-07-28 15:50:25 · 4019 阅读 · 0 评论 -
【C/C++】 读、写二进制文件经典实例
#include <fstream>#include <iostream>#include <cmath>using namespace std;void main(){ //读 FILE *pFile=fopen("F:\\SqlServer注释.zip","rb"); char *pBuf; fseek(pFile,0,...转载 2018-07-21 09:04:24 · 502 阅读 · 0 评论 -
【机器学习】最容易实现的基于OpenCV的人脸检测代码、检测器及检测效果
基于opencv自带的人脸检测模型,实现简单的人脸检测功能,可作为机器学习初学者练手使用。简单易学,具体的方法及代码如下。1、运行结果输入原图输出结果2、工程需要加载的opencv库如下:3、用到的人脸检测器4、具体实现代码#include <opencv.hpp>#include <opencv2/core/core.hpp>...原创 2018-10-24 14:18:53 · 726 阅读 · 4 评论 -
【OpenCv】 如何把图片的矩形、多边形区域内容置零
#include <iostream>#include <opencv2/opencv.hpp>#include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"using namespace std;using namespace cv;int main(){ Mat src...原创 2018-10-19 18:33:09 · 6856 阅读 · 0 评论 -
【opencv】经典的细化提取骨架理论及源代码
做项目时碰到特征的骨架提取,找了挺多相关资料,发现这篇博客讲的最完整,而且通俗易懂,完美解决碰到的问题,特转载如下,供更多的人学习。转自:https://www.cnblogs.com/mikewolf2002/p/3327183.html本章我们学习一下Hilditch算法的基本原理,从网上找资料的时候,竟然发现两个有很大差别的算法描述,而且都叫Hilditch算法。不知道那一个才是正宗的,...转载 2018-09-30 16:06:16 · 6333 阅读 · 3 评论 -
【机器学习】批量更新多个文件夹中图片的命名
#include <opencv2/opencv.hpp>#include <windows.h>#include <stdio.h>#include <string>#include <iostream>#include <ctime>#include <windows.h>#include &a原创 2018-09-30 15:56:09 · 895 阅读 · 0 评论 -
【C/C++】变量做数组长度
在c++中时不支持变量作为数组长度参数的,如 int n=10;byte bs[n]; 这样写会提示编译错误”表达式必须含有常量值“。虽然用变量声明数组大小会报编译错误,但是可以通过指针来动态申请空间实现动数组长度的变量赋值,写法如下:int length = 10;int * varArray;varArray = new int[length];这样varArray就可以...转载 2018-08-17 10:38:00 · 7515 阅读 · 0 评论 -
【C/C++】头文件包含之#include的2种用法区别
在C/C++工程中,常会碰到头文件包含的使用,#include <>和#include “ ”两者之间的区别,简而言之如下:1、 #include <>用 #include <filename.h>格式来引用标准库的头文件,编译器将从标准库目录开始搜索。2、 #include “ ”用 #include “filename.h” 格式来引用非标准库...原创 2018-08-11 15:51:40 · 915 阅读 · 0 评论 -
【C/C++】等分或指定行数把txt文档拆分成多份
1、输入如下:2、执行代码:3、输出如下:4、代码如下:4.1、平均拆分代码#include <iostream>#include <string>#include <fstream>using namespace std;//待处理样本的路径#define TXT_PATH_NAME "..\\In...原创 2018-08-01 17:38:43 · 2941 阅读 · 3 评论 -
【C/C++】main函数之参数argc和argv含义及用法
初识argc和argv,对其用法甚是困惑,偶得大神“-牧野-”之总结,犹如醍醐灌顶,故转载分享如下,供更多博友学习。argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写,表示传入main函数的参数序列或指针。第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函...转载 2018-07-28 10:30:41 · 1955 阅读 · 0 评论