C_and_CPP 板


LINE

#include<iostream> #include <iomanip> #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <string.h> #include <fstream> #include <math.h> using std::cout; using std::endl; using namespace std; double unif(double &seed); double norm(double mean, double var); int main(void) { double mean = 0; double SNR =10.0; double var =1/pow(10 , SNR/10); double w[1000][100]={0}; double err = 0; double total = 10000000; int t[1000][100] = {0}; double r[1000][100] = {0}; for(int j=0 ; j<100 ;j++) { for(int i=0 ; i<1000; i++) { t[i][j] = -1; w[i][j] = norm(mean,var); r[i][j] = t[i][j]+w[i][j]; if(r[i][j]>=0) { err+=1; } } } ofstream fop("re.txt"); fop<<(err/total); cout<<"解码结束"<<endl; fop.close(); system("pause"); }//////end double unif(double &seed) { double a1=3972.0,a2=4094.0; double m=2147483647.0; double seed1,seed2; seed1 = a1 * seed ; seed2 = a2 * seed ; /* control seed < 10^10 */ seed1 = seed1 - (long)(seed1/m) * m ; seed2 = seed2 - (long)(seed2/m) * m ; seed = seed1 * 100000.0 + seed2; seed = seed - (long)(seed/m)*m; if((seed/m)<0){ return(-1*seed/m);} else return(seed/m); } double norm(double mean, double var) { double sz=0.0,v1,v2,sigma,ans; double seed1,seed2; sigma=sqrt(var); seed1=rand()+clock()*123; v1=unif(seed1); seed2=fabs(clock()*1236*var+rand()-seed1); v2=unif(seed2); sz=cos(2.*3.14*v1)*sqrt(-2.*log(v2)); ans=sz*sigma+mean; return(ans); } 我想请教的问题是当我把w[1000][100]里面的1000改成10000然後其它像 t[][]还有r[][]跟i都改成对应的10000後,程式就出现overflow的讯息 这是因为我设定超过阵列的上限吗,因为像1000就可以执行但改成 10000就不能,请问板上的高手这是甚麽问题呢,感谢^^ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.122.235
1F:推 BSpowerx:你的RAM不够大吧 05/05 23:25
2F:推 VictorTom:RAM够大也一样, 开发环境允许你要的memory空间也会有限 05/05 23:37
3F:→ VictorTom:制, stack(区域变数等)/heap(动态配置等)的size会受限. 05/05 23:38
4F:→ gw119:那请问V大如果我需要做到10000次的话 05/05 23:56
5F:→ gw119:那我可以用甚麽方法去做到 05/05 23:56
6F:→ gw119:如果用动态记忆体的方式可以吗 05/05 23:57
7F:→ maplefog:宣告大矩阵可能要用到allocator,可以参考TCL 05/06 00:06
8F:→ gw119:TCL?? 05/06 00:09
9F:→ gw119:有相关的资料可以参考吗^^ m大 05/06 00:10
10F:推 LiloHuang:用 64bit OS + memory mapped file 吧 :) 可以很大很大 05/06 00:17
11F:→ gw119:那如果我用三维阵列呢 这样会有用吗 05/06 00:19
12F:→ iamivers0n:直接allocate在stack上的话就会受到stack大小限制 05/06 00:35
13F:→ iamivers0n:你可以试试看动态配置,heap空间应该大很多 05/06 00:35
14F:→ gw119:ok我试看看 感谢 05/06 00:40
15F:推 tstanly:array都有预设的大小 某个地方有定义 好像可改的样子 05/06 01:27
16F:推 liangjr:stack size的问题 用动态配置或把w放在global就可以了 05/06 03:27







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP