
VC++学习
文章平均质量分 84
Charle-Chen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
聚类算法之简单聚类算法(C++)
SimpleClassify.cpp: [cpp:firstline[1]] view plaincopy/** * @author bianzhiqi 200732580077 * @date 2009-10-28 */ #include #include #include #i转载 2012-05-30 15:06:39 · 2456 阅读 · 0 评论 -
k-means聚类分析的C++实现
K-means即为1967年MacQueen首次提出的K均值聚类算法,在许多实践应用中取得了很好的效果,下面对k-means算法做简要介绍。设数据集由n个对象组成,预备分成k类,初始化时,从n个数据对象 中随机选取k个作为簇的初始均值,对剩余数据对象,计算其与各个簇均值的距离,从而将其指派到最相似的簇。指派完毕后,重新计算各个簇的均值,并对各个数据对象重新进行指派。如此重复直至准则函数式(所有转载 2012-05-30 14:38:58 · 2982 阅读 · 0 评论 -
Single Image Haze Removal(图像去雾)-CVPR’09 Best Paper
真正了解了什么叫最简单的就是最美好的真正的好文章不需要大堆公式堆积显得充实,而是最最平实的思想!这篇文章的:原文PDF、数据集、幻灯片、视频。感兴趣的可以了解一下。这篇文章的目的就是以最简单的思路将图像达到去雾效果。用Matlab编了一下,效果图特别好啊哈:下面是摘录的:CVPR的中文名是计算机视觉与模式识别会议,是计算机视觉领域最顶尖的国际转载 2012-05-30 15:20:32 · 1186 阅读 · 0 评论 -
k-means(k均值聚类)算法介绍及实现(c++)
基本介绍:k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。工作过程: k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩转载 2012-05-30 14:35:47 · 3098 阅读 · 0 评论 -
k-m聚类c++版
#include #include #include #include #define TRUE 1#define FALSE 0 int N;//数据个数int K;//集合个数int * CenterIndex;//初始化质心数组的索引double * Center;//质心集合double * CenterC转载 2012-05-30 15:01:27 · 1448 阅读 · 0 评论 -
VC中的ComBox控件详解
VC中ComboBox使用详解一、如何添加/删除ComboBox内容1,在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。2,在程序初始化时动态添加如: //控件内容初始化 CString strTemp; ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetConte转载 2012-05-31 22:25:22 · 9930 阅读 · 0 评论 -
数组排序方法及C实现的总结
1、问题描述 数组排序(即按某种特定的顺序排列数据,如升序或降序)是最重要的计算应用之一,银行用帐号对所有的支票进行能够排序,并根据排序结果准备月底的财务报告,学校学生成绩管理系统用数组排序的方法将考试成绩从高到低进行排名,数组排序方法很多,有直接插入排序、冒泡排序、快速排序、直接选择排序,下面来详细介绍这四种基本的排序方法及其实现。2、方法总结 1)直接插入排序:数据表A中转载 2012-05-31 16:35:39 · 860 阅读 · 0 评论 -
C语言中delete与delete []的不同
下面的语句有什么错?string *stringarray = new string[100];...delete stringarray; 一切好象都井然有序——一个new对应着一个delete——然而却隐藏着很大的错误:程序的运行情况将是不可预测的。至少,stringarray指向的100个string对象中的99个不会被正确地摧毁,因为他们的析构函数永远不会被调用。转载 2012-06-01 15:46:02 · 23211 阅读 · 1 评论 -
C语言中两个反正切函数atan与atan2的区别
我们可以使用正切操作将角度转变为斜率,那么怎样利用斜率来转换为角度呢?可以利用斜率的反正切函数将他转换为相应的角度.as中有两个函数可以计算反正切,我们来看一下.1、as中Math.atan()Math.atan()接受一个参数:用法如下:angel=Math.atan(slope) angel为一个角度的弧度值,slope为直线的斜率,是一个数字,这个数字可以是负的无穷大到正无穷原创 2012-05-17 22:07:49 · 16253 阅读 · 2 评论 -
C++ new的用法
c++中new的用法c++中,new的用法很灵活,这里进行了简单的总结: " `) X5 t# d/ s# V) V9 N w! J1. new() 分配这种类型的一个大小的内存空间,并以括号中的值来初始化这个变量; . U* t, v# ~% u2. new[] 分配这种类型的n个大小的内存空间,并用默认构造函数来初始化这些变量; 8 A6 R I) `6 g% M l转载 2012-05-16 20:32:30 · 711 阅读 · 0 评论 -
C++动态分配内存new delete
动态内存分配1.堆内存分配 :C/C++定义了4个内存区间:代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store)。堆的概念:通常定义变量(或对象),编译器在编译时都可以根据该变量(或对象)的类型知道所需内存空间的大小,从而系统在适当的时候为他们分配确定的存储空间。这种内存分配称为静态存储分配;有些操作对象只在程序转载 2012-05-09 16:58:28 · 1267 阅读 · 0 评论 -
逻辑坐标和设备坐标
在Windows中,文档坐标系称作逻辑坐标系,视图坐标系称为设备坐标系。它们之间的关系如下图所示: 逻辑坐标按照坐标设置方式(又成为映射模式)可分为8种,它们在坐标上的特性如下表所示:映射模式逻辑单位x递增方向y递增方向MM_TEXT像素向右转载 2012-05-09 16:56:14 · 854 阅读 · 0 评论 -
vs2005断点处无法执行
VS2005下使用VC,部分断点无效,显示『当前不会命中断点。还没有为该文档加载任何符号』。试过以下一些方法:1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』;2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』;3、C/C++->优化->优化选择『禁用』;4原创 2012-05-16 15:40:02 · 1780 阅读 · 0 评论 -
判断单链表是否有环
1、如何判断一个链表是不是这类链表? 2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:boo转载 2012-05-11 15:25:26 · 434 阅读 · 0 评论 -
STL vector的erase操作问题
STL vector的erase操作问题一老大说CSDN上有篇博文( “关于STL vector的erase操作”,地址是:http://blog.csdn.net/tingya/archive/2007/12/28/1998442.aspx)黑奇怪,抱着猎奇的心态,偶也去凑哈热闹,发现了一点问题,报告给大家。 作者说下面的代码是错误的: vectorunsigned s转载 2012-05-15 11:04:34 · 680 阅读 · 0 评论 -
CString.Format 用法
Format 指定输出格式,后面跟要输出的变量 目前 printf 支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s转载 2012-05-14 16:01:33 · 600 阅读 · 0 评论 -
VS2005快捷键大全
VS2005快捷键大全快捷键 功能CTRL + SHIFT + B生成解决方案CTRL + F7 生成编译CTRL + O 打开文件CTRL + SHIFT + O打开项目CTRL + SHIFT + C显示类视图窗口F4 显示属性窗口SHIFT + F4显示项目属性窗口CTRL + SHIFT + E显示资源视图F12 转到定义CTRL + F12转到转载 2012-05-16 19:56:50 · 622 阅读 · 0 评论 -
vector的使用
第一部分 使用入门vector可用于代替C中的数组,或者MFC中的CArray,从许多说明文档或者网上评论,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性。而且vector是STL推荐使用的默认容器,除非你知道你有特殊需要,使用vector不能满足你的需求,例如需要容器在head和tail高效的插入和删除,或者在任何位置高效的删除和插入操作,那么你可能使用dequ转载 2012-05-14 18:26:04 · 628 阅读 · 0 评论 -
VC++引用指南
引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 一、引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全转载 2012-05-11 10:59:10 · 473 阅读 · 0 评论 -
C++函数模板基础学习
1.template参数定义中,typename 和class 可以互换,尽量使用typename,不可以使用struct 2.模板参数可以使用任意类型,包括内置类型,自定义类,枚举等 3.模板参数名称可以使用任意名称 4.函数模板不是只编译一份满足多重需要,而是为每一种实例化类型编译一份 5.只有函数模板的使用才会引发实例化原创 2012-05-11 10:20:57 · 1601 阅读 · 0 评论 -
STL vector用法介绍
介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能转载 2012-05-14 16:13:48 · 405 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别名,而不转载 2012-05-18 22:13:05 · 774 阅读 · 0 评论 -
C++枚举类型
枚举类型比较简单,google一下说的都是一模一样。这里就简单记一下我的理解和一些需要注意的地方。 枚举是一种用户定义的类型,当某个变量取值是几种可能存在的值时,就可以定义为枚举类型,就是把变量(对象)可能存在的取值一一列举出来。 声明枚举类型: enum MonthType{JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP转载 2012-06-07 09:42:30 · 889 阅读 · 0 评论 -
C++枚举类型
1、枚举enum的用途浅例 写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等。 更常见的,打开一个文件可能有三种状态:input, output和append. 典型做法是,对应定义3个常数,即: const int input = 1;转载 2012-06-07 09:46:22 · 560 阅读 · 0 评论 -
C++中反正切atan2(y,x)与atan(x)
1、atan(x)表示求的是x的反正切,其返回值为[-pi/2,+pi/2]之间的一个数。2、atan2(y,x)求的是y/x的反正切,其返回值为[-pi,+pi]之间的一个数。atan2返回值解释:在三角函数中,两个参数的函数atan2是正切函数的一个变种。对于任意不同时等于0的实参数x和y,atan2(y,x)所表达的意思是坐标原点为起点,指向(y,x)的射线在坐标平面上与x轴正方转载 2012-05-19 11:14:10 · 88484 阅读 · 2 评论 -
c++ try_catch throw
使用throw抛出异常本人节选自《21天学通C++》一书 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为:throw 表达式; 如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处转载 2012-05-19 13:14:57 · 654 阅读 · 0 评论 -
vc美化界面
本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; 本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。 1. 美化界面之开题篇相信使用过《金山毒霸》、《瑞星杀毒》软件的读转载 2012-06-06 21:59:14 · 974 阅读 · 0 评论 -
MFC添加背景图片方法
方法一:1、声明成员变量CBrush m_brush;2、在InitDialog中添加代码:?CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1是图片资源IDm_brush.CreatePatternBrush(&bmp);3、重载对话框的On转载 2012-06-08 16:32:40 · 844 阅读 · 0 评论 -
VC 按钮添加图标,位图
【按钮添加图标】方法一:1.添加图标资源IDI_ICON1;2 使用函数 LoadIcon() 载入图标。因为LoadIcon() 是类 CWinApp 的成员函数,同时函数 LoadIcon() 返回所载入图标的句柄。所以我们采用以下方法来调用函数 LoadIcon():HICON m_hicn1=AfxGetApp()->LoadIcon(IDI_ICON1);3 为按钮设转载 2012-06-10 11:25:15 · 8467 阅读 · 0 评论 -
最小二乘法直线拟合
//最小二乘法直线拟合BOOL CalculateLineKB(CFoldPointList *m_FoldList,double &k,double &b){ //最小二乘法直线拟合 //m_FoldList为关键点(x,y)的链表 //拟合直线方程(Y=kX+b) if(m_FoldList==NULL)return FALSE; long lCount=m_F原创 2012-05-22 20:41:08 · 704 阅读 · 1 评论 -
linux面试题参考答案
一.填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为: 硬链接 和 符号链接 。6. 超级块包含了i节点表 和 空闲块表 等重要转载 2012-05-22 21:44:07 · 9642 阅读 · 0 评论 -
如何找到一个数组里面重复次数最多的数
#include iostream>#include string>#include iomanip>using namespace std;struct box{ int number; int chongfu;};void show(int x[],int y);void show_struct(box x[],int y);int main(){转载 2012-06-13 21:52:29 · 2182 阅读 · 0 评论 -
vs2010 快捷键大全
VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视转载 2012-06-14 11:08:20 · 753 阅读 · 0 评论 -
判断一个链表是空链表还是循环链表
使用快慢指针判断的好处是:可以防止如果链表是类似“6”的,形状,也就是说尾指针不是直接连到头指针,而是它之后的指针,那么这种情况下传统的以头指针作为基准判断是否有循环的方法就可能陷入死循环。 给定一个链表,它可能是以NULL结尾的非循环链表,如图3-5所示;也可能是一个循环结构结尾的循环链表。已知这个链表的头指针,请编写一个函数来判断该链表是一个循环链表还是一个非循环链表,该函数不得对链转载 2012-05-25 16:47:20 · 2282 阅读 · 0 评论 -
【数据结构(C++)】单链表
线性表包含 数据域和指针域 其中,data存储数据本身的值,next存储后继元素的地址 下面的图表示的是一个数据节点单链表的结构示意图(包括空的单链表): 单链表的节点类:templateclass T>class Node{ public: T data;//数据 Node *nex转载 2012-05-25 17:56:26 · 768 阅读 · 0 评论 -
栈和队列(二):栈的应用举例
一、数制转换 十进制数N和其它d进制数的转换是计算机实现计算的基本问题,其解决方法很多,其中一个简单的算法是基于下列原理: N = (N div d) * d + N mod d。其中:div为整除运算,mod为求余运算。 例:(1348)10 = (2504)8,其运算过程如下: N N div 8 N mod 8 1转载 2012-06-20 17:04:53 · 1863 阅读 · 0 评论 -
栈的应用
算术表达式的求值 栈的应用由于栈结构具有的后进先出的固有特性,致使栈成为程序设计中常用的工具。以下是几个栈应用的例子。一、算术表达式的中缀表示把运算符放在参与运算的两个操作数中间的算术表达式称为中缀表达式。例如:2+3*4 – 6/9算术表达式中包含了算术运算符和算术量(常量、变量、函数),而运算符之间又存在着优先级,不能简单地进行从左到右运算,编译程序在求值时,不能简单从转载 2012-06-20 16:51:51 · 718 阅读 · 0 评论 -
sift是图像匹配的非常经典的算法
sift是图像匹配的非常经典的算法,但是很复杂,要想自己拿C或C++实现很麻烦,如果只是使用的话,有国外某高人维护的sift库,前期只要自己能够调用即可,关键是要熟悉大致的流程,对sift库有个了解,具体的工作只要调用其中的函数即可。匹配效果:sift是图像匹配的非常经典的算法,但是很复杂,要想自己拿C或C++实现很麻烦,如果只是使用的话,有国外某高人维护的sift库,前期只要自己能够转载 2012-06-23 13:17:39 · 56453 阅读 · 15 评论 -
结构体复制
什么是结构体? 简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组转载 2012-07-07 15:24:35 · 4442 阅读 · 0 评论 -
如何使用spy ++
转自 边城浪子:http://www.cnblogs.com/index/archive/2005/03/29/127619.html如果你装了vs.net,在vs.net的工具里面就可以看到spy ++打开spy ++,会以树状图显示当前系统所有的窗体信息,如下所示然后找到你需要用到的窗体,比如说下面这样当然,这里的窗口并不一定都是窗口,子窗体的一般都转载 2012-07-14 20:06:01 · 779 阅读 · 0 评论