[爆卦]帕斯卡三角形c是什麼?優點缺點精華區懶人包

為什麼這篇帕斯卡三角形c鄉民發文收入到精華區:因為在帕斯卡三角形c這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者wxtab019 (天霜凝月)看板C_and_CPP標題[問題] 用一階陣列寫巴斯卡三角形時間F...


開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2010


問題(Question):

我想用一階陣列寫出巴斯卡三角形

用一個b[]和c[]的一維陣列
c[j]=b[j-1]+b[j];

這樣讓他跑下去
不過不知道為什麼一行c[j]=b[j-1]+b[j];跑完的時候
b[j-1]都會變成和c[j]一樣

所以當跑下一個j=j+1的時候
就會等於說本來的c[j]=b[j-1]+b[j];
上左 上

會變成 c[j]=c[j-1]+b[j]
左邊 上
變成是上面和左邊相加了
所以跑出來就會變成

1
1 1
1 2 1
1 3 4 1
1 4 8 9 1
1 5 13 22 23

不知道是不是哪裡寫錯了...

程式碼(Code):(請善用置底文網頁, 記得排版)


int a,i,j;

cout<<"請輸入要幾層的巴斯卡三角型:";cin>>a;cout<<"\n";
int *b,*c;
b=new int[a];
c=new int[a];

*b=1;
*c=1;
*(c+1)=1;
for(i=0;i<=a;i++)
{
if(i>=2)
{
for(j=1;j<=i;j++)
{

c[j]=b[j-1]+b[j];
c[i]=1;
}}
for(j=0;j<=i;j++)
{
cout<<"i="<<i<<" "<<"j="<<j<<" "<<c[j]<<" ";

}
cout<<"\n";b=c;
}

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.237.62
ericinttu:trace 一下, 看每一行相關變數的內容, 應該就知道問題. 12/02 13:21
iWRZ:不能用次方算? 12/02 13:21
wxtab019:我就是每一行看 發現b[j]都會和c[j]一起變 12/02 13:25
wxtab019:他們的值永遠都會一樣 不知道為什麼 12/02 13:25
wxtab019:其他b和c的值也都會一樣 不過我明明到最下面才讓b=c的 12/02 13:32
wxtab019:我剛剛發現 b和c的位址好像一樣 不知道有沒有辦法改掉? 12/02 13:38
shadow0326:當i==a的時候, b[i]和c[i]就... 12/02 13:45
wxtab019:不過還沒跑到i=a b[j]和c[j]就已經一直都是一樣的 12/02 14:02
wxtab019:我去看他的們位址是一樣的 所以值也會一樣 不知道為什麼 12/02 14:03
wxtab019:我有分開設2個b和c 不知道為什麼他們會指向同一個位址 12/02 14:03
x000032001:顯然版友們認為你應該自己trace出來XD 12/02 14:36
tropical72:http://ideone.com/qlI42 ? 12/02 19:42

你可能也想看看

搜尋相關網站