我這簡單的程式哪錯了,為什麼輸出的是0,手工計算明明是正確的

時間 2023-08-21 18:27:44

1樓:匿名使用者

明顯是0啊……

雙重for迴圈之後a,b的值都是6,然後pan[6][6]的值又沒有改變過,所以肯定是初始值0啊~

肯定是 cout《補充:pan第一列不是全為1……

2樓:

看起來你的程式像是洪泛式的累加。

if(g[0][nk]==0)

pan[0][nk]=0;}

但是這句使邊為0就不是累加了。

再有 cout《這句指向了沒有運算的點。

還有就是你的前邊的。

g[i][j]=1;

g[i+2][j-1]=1;

g[i+2][j+1]=1;

g[i+1][j-2]=1;

g[i+1][j+2]=1;

g[i-1][j-2]=1;

g[i-1][j+2]=1;

g[i-2][j-1]=1;

g[i-2][j+1]=1;

這樣是你的g的邊界被賦值1,而使得由g值判斷給pan複製出現了,有些邊界單元未被初始化的情況。錯誤很嚴重。

3樓:匿名使用者

不知道你這正確答案是17是怎麼算出來的。我看了下源程式,陣列g和pan的每個元素都是1或者是0,執行中又沒有累積。那麼輸出的結果至多是0,1,2這三種。

也許你某一個行**粗心打錯了吧。

4樓:匿名使用者

為什麼程式總是輸出0呢,是因為你輸出的時候,a=n,b=m,而pan[n][m]的值初始化為0,在程式中沒有改變。而且你中間的過程有問題。

一句話:陣列下表越界了。

5樓:匿名使用者

我沒有全看,你的i和j沒有初始化吧。

任意給一個非零數,按如圖所示的程式計算下去,寫出輸出結果。

6樓:f勇呵

解:程式:(m2 +m)÷m-1=m,輸入是m,輸出的結果還是m,按題意任意取值即可。

為什麼這個程式執行不了呢,是哪出錯了嗎?請高手指點下

dedine r 30.85 改為 define r 30.85 area pi r r後面加 我已經在vc6種編譯沒錯了,你看看是不是新增的 不對,應該是半形的。printf area f n area 我知道delphi裡不能直接用 f 應該用format 函式,不知道對你有沒有幫助哦 請高手指...

下列程式段執行後的輸出結果是什麼,為什麼

特意經過 1 3dowhile 型,必定執行一次,所以第一次迴圈,一定會進入這時 printf 2d a 3 等價於 a a 3 因為a初值為4,所以a 1 printf 2d a 輸出1while a 等價 while a 1 等價 while 0 因為 0的值為 true 所以再迴圈1次 a a...

我的電腦這配置為什麼開幾個程式就卡需要換什麼個哦我說下

1全部系統太高,win7旗艦版的,就現在來說,加上別的程式,連著網的話,最少要4g記憶體才夠。最好再加根同型號的記憶體條,這樣執行這個win7旗艦版應該可以了。win7旗艦版在所有win7版本里是最高的,功能最全的。當然,它吃的記憶體就大了。如果不想再加個記憶體條,那把這系統換成xp的就會很快了。如...