
c++
wangbowj123
炼丹中。
展开
-
字符串分割c++
1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例:转载 2017-03-11 08:24:48 · 563 阅读 · 0 评论 -
字符串高级操作——利用链表进行文本单词频率统计
现有一片英语短文,要求用c语言实现对该文章的词频统计,即利用文件读写方法,提取文本中的每一个单词之后通过算法统计其出现频率,并输出到另外的文件中。短文如下:Of all the changes that have taken place in English-language newspapers during the past quarter-century, perhaps the mo...原创 2020-04-13 13:32:54 · 783 阅读 · 0 评论 -
利用opencv实现随机线条的绘制
刚发现一个比较好玩的方法,利用opencv创建一幅图片,之后在上面一直不停的绘制线条(实现一万次),线条的起始点、终止点、颜色都是随即设定。就结果图片而言,有些凌乱,不过实现过程看起来很有意思!代码如下:#include <opencv2\opencv.hpp>#include <iostream>// 绘制图形using namespace cv;using...原创 2019-01-02 17:08:24 · 1563 阅读 · 0 评论 -
初探opencv——提高图片对比度与亮度(像素操作)
亮度与对比度的操作我们用较原始的方法实现对亮度与对比度的调节,运算实质如下:提升对比度主要调节 α\alphaα ,即使得每一个像素点之间数值的差距更大,对比度就提高了(对比更强烈了)。提升亮度主要调节β\betaβ,令每一个像素点值大一些。代码如下:#include <opencv2\opencv.hpp>#include <iostream>using...原创 2019-01-02 15:28:09 · 4201 阅读 · 0 评论 -
初探opencv——对像素进行操作(像素值取反、图片混合)
像素的操作对像素进行操作,我们自然想到首先要提取像素点,上一篇文章中我们利用了Mat对象的ptr()函数可以返回一个指针类型的像素点,但是对指针进行操作似乎总是不和我们的常规,感觉有些危险。。。所以这篇文章主要用到at()函数关于at():at<template>(i,j) 代表读取某Mat对象的 i 行 j 列像素点,且返回值可变,不牵涉指针操作。示例如下:1.对图像的像...原创 2019-01-02 15:17:38 · 3133 阅读 · 1 评论 -
初探opencv——Mat对象相关操作
Mat对象的相关操作1.构造函数、拷贝方法、为像素赋初值#include <opencv2\opencv.hpp>#include <iostream>#include <math.h>// Mat对象的相应操作using namespace cv;using namespace std;int main(int argc, char* argv...原创 2019-01-02 14:54:34 · 315 阅读 · 0 评论 -
初探opencv——利用矩阵掩膜操作提高对比度
今天开始更新opencv的学习。笔者的开发环境选在vs2017+opencv3.2。何为矩阵的掩膜操作?其实就是选定一部分我们自己感兴趣的区域,在这个区域内对像素进行操作,利用掩膜我们可以重新计算每个像素的像素值。比如矩阵A:(1)0−10−15−10−10 \begin{matrix} 0 &amp;amp; -1 &amp;amp; 0 \\ -1 &amp;amp; ...原创 2019-01-02 14:39:07 · 534 阅读 · 0 评论 -
解决cin.getline()函数被跳过执行的问题(与cin连用)
今天编程序时遇到了如下问题:int main(){ cout<<"1 Write a record"<<endl; cout<<"2 Read a record"<<endl; cout<<"3 Exit"<<endl; int a; char filename[MAX_PATH+1]; //cout<<"input filename :"; //cin.getline(fil原创 2017-03-14 21:56:35 · 3911 阅读 · 1 评论 -
关于快速寻找素数的方法
利用素数筛选法进行素数的快速查找。原理很简单,素数一定是奇数,素数的倍数一定不是素数。思路如下:预定义N表示10000,即表示查找10000以内的素数,首先定义数组prime[]对N以内的数进行标记,奇数存为1,偶数存为0,最终实现结果为素数的prime值为1,因此将prime[2]赋值为1(2是素数)。之后利用for循环,对N以内的奇数进行遍历(注意for循环的条件控制),for里用if判断是否为素数(奇数),若是,执行内部嵌套的for循环判断该奇数是否为素数,若是则标记为1,若不是则prime置为原创 2017-02-21 14:27:07 · 12031 阅读 · 4 评论 -
智能版石头剪刀布——c++实现
利用c++实现了相对智能一点的石头剪刀布,方法是为计算机设置偏好,有第一偏好、第二偏好,第三偏好。同时计算机选择的时候会以百分之50的概率选择第一偏好,以百分之40的概率选择第二偏好,百分之10的概率选择第三偏好。为了更加狡猾,设置全局变量记录运行局数,每隔三局(可以自行设定)分析用户的偏好,从而改变自身的偏好,可以使得计算机更为人性化,完成简单的人机交互。这也是c++老师曾教给我们的,在原创 2017-08-01 14:12:37 · 3546 阅读 · 0 评论 -
关于c++的引用变量与命名空间
一、c++的引用变量初学c++便接触到了引用变量,定义类型为整型时:int a;int &b=a;表示将b定义为一个引用变量,引用了a的数值,同时b与a的地址值相同,如果改变b的数值,a,b的数值也会改变,但是作为引用变量b的地址值不会改变,同时引用变量与指针有着相似性,但是却是不同的,有着不同的特性。以下程序作为对比分析:#includeusing namespace std原创 2017-03-03 13:41:55 · 2814 阅读 · 0 评论