摘要:#include "stdlib.h" void main() { //_pgmptr 即应用程序完整路径名称 cout << _pgmptr << endl; }
阅读全文
文章分类 - C/C++
摘要:矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍:一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。但做下简单的改进就能减少连乘的次数,方法如下:把n个矩阵进行两两分组,比如:A*A*A*A*A*A => (A*A)*(A*A)*(A*A)这样变的好处是,你只需要计算一次A*A,然后将结果(A*A)连乘自己两次就能得到A^6,即(A*A)^3=A^6。算一下发现这次一共乘了3次,少于原来的5次。其实大家还可以取A^3作为一个基本单位。原理都一样:利用矩阵乘法的结合律,来减少
阅读全文
摘要:三次样条插值(Cubic Spline Interpolation)样条插值是一种工业设计中常用的、得到平滑曲线的一种插值方法,三次样条又是其中用的较为广泛的一种。本篇介绍力求用容易理解的方式,介绍一下三次样条插值的原理,并附C语言的实现代码。1. 三次样条曲线原理假设有以下节点1.1 定义样条曲线是一个分段定义的公式。给定n+1个数据点,共有n个区间,三次样条方程满足以下条件:a. 在每个分段区间(i = 0, 1, …, n-1,x递增),都是一个三次多项式。b. 满足(i = 0, 1, …, n )c.,导数,二阶导数在[a, b]区间都是连续的,即曲线是光滑的。所以n个三次多项式分段
阅读全文
摘要:双线性插值(Bilinear Interpolation)转自:http://www.cnblogs.com/xpvincent/archive/2013/03/15/2961448.html最近用到插值算法,使用三次样条插值时仿真速度太慢,于是采用算法简单的线性插值。本篇主要介绍一下双线性插值的实现方法。1. 线性插值已知坐标 (x0,y0) 与 (x1,y1),要得到 [x0,x1] 区间内某一位置x在直线上的值。由于x值已知,所以可以从公式得到 y 的值已知y求x的过程与以上过程相同,只是x与y要进行交换。2.双线性插值(Bilinear Interpolation)在数学上,双线性插值
阅读全文
摘要:const int ARRSIZE=1010, DISPCNT=1000; //定义数组大小,显示位数 char x[ARRSIZE], z[ARRSIZE]; //x[0] x[1] . x[2] x[3] x[4] .... x[ARRSIZE-1] int a=1, b=3, c, d, Run=1, Cnt=0; memset(x,0,ARRSIZE); memset(z,0,ARRSIZE); x[1] = 2; z[1] = 2; while(Run && (+...
阅读全文
摘要:#include #include using namespace std;int a,b;int tmp[100];int result[100];void input(){ cout<<"请输入两个数,中间以逗号隔开!"<<endl; scanf("%d,%d",&a,&b);}void outPut(){ cout <<result[0]<< "."; for (int i = 0; i < 100; i++) { cout << result[i
阅读全文
摘要:#include <cstdlib>#include <iostream>#include <string>#include <sstream>using namespace std;const int MAX = 100;/*frist method*/inline void numToString0(int value){ string str; char buf[MAX]; sprintf(buf, "%d", value); str = buf; cout << str << endl;}/*s
阅读全文
摘要:初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,其破坏力是惊人的,从性能下降到内存耗尽,甚至会影响到其他程序的正常运行。另外内存问题的一个共同特点是,内存问题本身并不会有很明显的现象,当有异常现象出现时已时过境迁,其现场已非出现问题时的现场了,这给调试内存问题带来了很
阅读全文
摘要:dsw, aps, clw, plg这些文件都可以删除。只保留 H,C,CPP,DSP,RC,剩余文件去除只读属性,其余全部删除。然后打开DSP 有提示选 YES,就可以了。*.dsp(DeveloperStudio Project):是VC++的工程配置文件,比如说你的工程包含哪个文件,你的编译选项是什么等等,编译的时候是按照.dsp的配置来的。*.dsw(DeveloperStudio Workspace):是工作区文件,用来配置工程文件的。它可以指向一个或多个.dsp文件。*.clw:是 ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWiz
阅读全文
摘要:转自:http://blog.csdn.net/wallaceli1981/article/details/5740718偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件。然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DLL或者LIB导入到我们的编程中,那么这些lib,DLL到底是什么呢?下面,偶就细细道来。首先,偶们说第一个:静态链接库(Static Libary)偶们用VS2005做一个静态链接库,先打开VS2005,新建项目 Win32控制台应用程序,项目名称:staticCai;新建st
阅读全文
摘要:1. TEMPLATE变量TEMPLATE描述了为建立目标文件而采用何种模板,即生成何种形式的Makefile文件。Qmake工具定义了5种模板:1. 应用程序App,为建立一个Qt应用程序创建Makefile文件;2. 库lib,为建立引用程序库而创建Makefile文件;3. 子工程 subdirs,为建立子目录下的目标文件创建一个Makefile文件, 子目录通过变量SUBDIRS指定(子目录下的工程文件也需要指出使用何种模板);4. VC应用程序vcapp,为Visual Studio 生成一个应用程序工程,仅仅用语Windos操作系统.5. VC库vclib,为Visual Stud
阅读全文
摘要:将 cout 的 flag 保存到变量, 以便修改后的恢复 ostream::fmtflags old = cout.flag() ; // 无参将返回当前 flag 值 cout.flag(old) ; // 恢复到原先保存的值将 bool 值以 literals 输出cout <<"numeric : "<<true<<" or "<<false<<endl ; // 1 or 0cout <<"literals : "<<boolalpha &l
阅读全文
摘要:使用C++标准程序库的输入输出流(I/O Stream)复制文件,存在许多的方法,方法一:逐个字符复制#include <fstream>std::ifstream input("in", ios::binary);std::ofstream output("out", ios::binary);char ch;while(input.get(ch)) output << ch;注意:如果使用input> > ch读取字符,则必须先调用input.unsetf(ios::skipws)取消输入流默认的跳过空白符的输入格
阅读全文
摘要:理论上,本文适用于boost的各个版本,尤其是最新版本1.47.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,VS2010,gcc,C++ Builder等。先总结一下Windows系统。一、下载首先从boost官方主页http://www.boost.org/下载最新版boost安装包,或者使用Subversion获取最新版本,地址是:http://svn.boost.org/svn/boost/trunk。本人现在一般都用svn,这样可以很方便的进行update和build,而不是每次都下载新的安装包并rebuild。二、安装如果是使用
阅读全文
摘要:C++各大有名库的介绍之C++标准库标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。1、Dinkumware C++ Library 参考站点:http://www.dinkumware.com/ P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C++的产品中采用Din
阅读全文
摘要:C 如何得到文件的大小先用fopen打开文件,然后把文件指针指向文件尾.再用ftell获得文件指针当前位置(即文件长度).源代码:#include "stdafx.h"#include <stdio.h>#include <iostream>using namespace std;int main(){FILE* fp = NULL;int nFileLen = 0;fp = fopen("c:/Test.txt", "rb");if (fp == NULL){ cout << "can&
阅读全文
摘要:维基百科 C++11:http://zh.wikipedia.org/wiki/C%2B%2B11#.E9.80.9A.E7.94.A8.E6.99.BA.E8.83.BD.E6.8C.87.E9.87.9D
阅读全文

浙公网安备 33010602011771号