[問題] 陣列宣告
看板C_and_CPP (C/C++)作者alohaiscool (aloha)時間16年前 (2009/09/15 14:08)推噓3(3推 0噓 5→)留言8則, 4人參與討論串1/3 (看更多)
小弟我是程式初心者,最近在寫monte carlo的程式
這程式主要是 要把吸收的比重 存到陣列裡頭
#include <iostream>
using std::cout;
#include <iomanip>
using std::setw;
#include <ctime>
#include <cstdlib>
#include <math.h>
這是我自己define的標頭檔
#include "main.h"
#include "define.h"
int main()
{ srand(time(NULL));
photon m6;
double R_sp;
bool tissue_flag;
R_sp=((n1-n2)*(n1-n2))/((n1+n2)*(n1+n2));
m6.WA=0;m6.WR=0;m6.WT=0;
m6.WR=m6.WR+photon_number*R_sp;
int gridSize_t=thickness/dz;
int gridSize_w=width/dr;
double out_bound=0;
這四項出現了錯誤訊號 variable-sized object `xxxx' may not be initialized
double absorption[gridSize_t][gridSize_w]={0};
double volume[gridSize_w]={0};
double Source[gridSize_t][gridSize_w]={0};
double fluence[gridSize_t][gridSize_w]={0};
for (int p=0;p<photon_number;p++)
{
m6.x=0;m6.y=0;m6.z=0;
m6.ux=0;m6.uy=0;m6.uz=1;
m6.weight=1-R_sp;
m6.flag=true;
while (m6.flag)
{
move(&m6);
if(m6.z<0)
{
tissue_flag=false;
test_in_tissue(tissue_flag,&m6);
}
else if(m6.z>thickness)
{
tissue_flag=true;
test_in_tissue(tissue_flag,&m6);
}
if((m6.z>=0)&&(m6.z<=thickness))
{
m6.WA=m6.WA+m6.weight*(ma/(ma+ms));
其實我很想把下面這一塊 寫成一個cpp檔 讓我連結進來這樣程式才不會落落長
double r =sqrt((m6.x)*(m6.x)+(m6.y)*(m6.y));
unsigned int i=r/dr;
i++;
unsigned int j=m6.z/dz;
j++;
if (r>width)
{
out_bound=out_bound+m6.weight*(ma/(ma+ms));}
else
{
absorption[j][i]=absorption[j][i]+m6.weight*(ma/(ma+ms));
volume[i]=(2*i+1)*pi*dr*dr*dz;
Source[j][i]=absorption[j][i]/(photon_number*volume[i]);
fluence[j][i]=Source[j][i]/ma;
}
以上各位高手 如果要把它拉出來當個副函式 要怎麼寫呢?
m6.weight = m6.weight*(ms/(ma+ms));
if(m6.weight<w_th)
{roulette(&m6);}
else
{direction(&m6);}
}
}
}
system("pause");
}
跪謝了~
因為 程式功力很差 看的很吐血請見諒
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.174.168
※ 編輯: alohaiscool 來自: 140.112.174.168 (09/15 14:13)
推
09/15 14:12, , 1F
09/15 14:12, 1F
→
09/15 14:15, , 2F
09/15 14:15, 2F
→
09/15 14:16, , 3F
09/15 14:16, 3F
→
09/15 14:24, , 4F
09/15 14:24, 4F
推
09/15 15:44, , 5F
09/15 15:44, 5F
→
09/15 16:05, , 6F
09/15 16:05, 6F
推
09/15 16:24, , 7F
09/15 16:24, 7F
→
09/15 16:25, , 8F
09/15 16:25, 8F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章