
编程之美
文章平均质量分 58
lskyne
这个作者很懒,什么都没留下…
展开
-
char与unsigned char的本质区别
在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 。首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况转载 2012-11-27 12:13:41 · 756 阅读 · 0 评论 -
C++产生随机数(整理)
1,C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同的。在工程应用时,我们一般将系统当前时间(Unix时间)作为种子,这样生成的随机数更接原创 2013-08-28 21:26:50 · 1337 阅读 · 0 评论 -
协方差的意义和计算公式
学过概率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。首先我们给你一个含有n个样本的集合,依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。均值:标准差:方差:很显然,均值描述的是样本集合的中间点,它告诉我们的信息是很有限的,而标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。以这两个集合为例,[0,8,12,20]转载 2012-11-28 23:15:45 · 1062 阅读 · 0 评论 -
导数和梯度,切线和法向量
转自:http://www.cnblogs.com/jerrylead/archive/2011/03/09/1978280.html记得在高中做数学题时,经常要求曲线的切线。见到形如之类的函数,不管三七二十一直接求导得到,这就是切线的斜率,然后就得到了处的切线。上大学又学习了曲面切线和法向量的求法,求偏导是法向量,然后套公式求出切线。一个经典例子如下:(来自w转载 2012-12-19 09:53:01 · 4573 阅读 · 0 评论 -
循环与递归的区别
循环(迭代)与递归的区别 1。递归算法与迭代算法的设计思路区别在于:函数或算法是否具备收敛性,当且仅当一个算法存在预期的收敛效果时,采用递归算法才是可行的,否则,就不能使用递归算法。当然,从理论上说,所有的递归函数都可以转换为迭代函数,反之亦然,然而代价通常都是比较高的。但从算法结构来说,递归声明的结构并不总能够转换为迭代结构,原因在于结构的引申本身属于递归的概念,用迭代的转载 2013-06-17 20:10:21 · 1428 阅读 · 0 评论 -
定义动态数组
1,固定长度数组int a[10];错误写法int n;cin>>n;int a[n];修改把第一行第二行改为const int n=5可以2,变长一维数组int *p=new int[len]...delete[] p错误写法int p[len];C++编译器报错len大小不能确定,因为这种形式声明数组,数组大小需要在编译时确定int原创 2013-06-07 11:07:39 · 1634 阅读 · 0 评论 -
ubuntu中C++程序编译执行
g++ -c c.cpp生成c.og++ c.o -o c生成可执行文件c./c运行程序$ gcc -o factorial main.c factorial.c$ ./factorial 5#include void main (void){cout }则可以如下调用 g++ 命令编译、连接并生成可执行文件:原创 2013-06-06 14:55:12 · 7669 阅读 · 1 评论 -
C++ 数组做参数 深入分析
在 C++中,数组永远不会按值传递,它是传递第一个元素,准确地说是第 0个 的指针。例如,如下声明 :void putValues( int[ 10 ] ); 被编译器视为 void putValues( int* ); 数组的长度与参数声明无关,因此,下列三个声明是等价的: // 三个等价的 putValues()声明 void putValues( int转载 2013-05-04 17:47:42 · 815 阅读 · 0 评论 -
C++中的头文件和源文件
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对转载 2013-04-03 15:55:42 · 945 阅读 · 0 评论 -
关于while(cin>>str)结束的问题 .
在 C++Primer 中,作者经常使用 while(cin>>word) 类似的语法,但是如何结束,可能会出现疑惑。有的时候需要两次快捷键才能结束循环,有的时候却只需要一次循环。 在 Unix 系统中的实际的现象为: * 当输入为“字符串,回车,Ctrl+D”的时候,跳出循环; * 当输入为“字符串,Ctrl+D,回车”的时候,不会跳出循环; *转载 2013-03-18 14:58:48 · 1259 阅读 · 0 评论 -
struct结构体的不同形式说明
1,struct{int x;int y;}test1;定义了结构体变量test1,在程序中可以直接调用test1.x,test1,y;2,struct test {int x;int y;}test1;定义了结构体test和结构体变量test1,在程序中可以用test定义别的结构体变量,如test test2;另外可以直接使用test1.x,test1.y;3,typedef s原创 2013-03-11 22:45:46 · 1396 阅读 · 0 评论 -
每日算法之大数加法
#include "stdio.h"#include "math.h"#include "string.h"#include #include using namespace std;void reverse(char s[],int len){ int i=0; int swap; while(i<len/2) { swap=s[i]; s[i]=s[len-1-i原创 2013-02-23 12:13:49 · 1501 阅读 · 0 评论 -
文件的读写操作一
问题:将txt文件中矩阵读取到数组中。代码:#include #include #include int main(){ FILE* fp=fopen("data1.txt","r"); char a[10][10]={0}; char ch; int i=0,j=0; if(feof(fp)) return 0; while(!feof(fp原创 2013-01-04 12:11:43 · 739 阅读 · 0 评论 -
C&C++文件操作
流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下以下是引用片段:typedef struct { int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */转载 2013-01-04 12:34:23 · 1000 阅读 · 0 评论 -
在一个字符串中找一个最大重复子串
#include bool find_sub_string(const char * str,int str_length,int * offset,int * len){ int start=0;//每一次查询的开始处 int off=0;//查询到的偏移量 int maxlen=1;//查询到的最大长度 int inmaxlen=1; int inlen=1;//每次循环查找到的最转载 2013-08-30 10:27:53 · 1273 阅读 · 0 评论