我寫的蛇形填數程式,哪錯了呢????求解

時間 2025-06-01 00:45:13

1樓:暈血兒

實在不想看。

**如下:#include

#define maxn 10

int main()

int a[maxn][maxn]=;

int n,x,y,tot=0;

scanf("%d",&n); 輸入n , 表示n行n列;

tot=a[x=0][y=n-1]=1;

while(tot《慎臘n*n) /判斷是否填完。

先判斷寬清滑有沒有越界,再判斷下乙個位置是否已填數 再把數正衝字填下 , 步驟為 下 左 上 右 不斷迴圈 */

while(x+1=0&&!a[x][y-1]) a[x][-y]=+tot;//左。

while(x-1>=0&&!a[x-1][y]) a[--x][y]=+tot;//上。

while(y+1for(x=0;xfor(y=0;yprintf("%d\t",a[x][y]);

printf("");

return 0;

2樓:網友

你想出現個什麼東西?你想實現什麼功能? 不說清楚 沒人幫你的 我只是提醒你。

c++程式求查錯(蛇形填陣列)

3樓:逮涵

程式思想沒錯,錯在定義的陣列不具體,編譯器不能為其開闢正確的儲存空間,根據您的期望我只能做如下更改,希望能夠幫到你,謝謝!程式如下:

#include

#include

using namespace std;

int main()

elsedata[i++]m++]a;

else if(flag==-1)

elsedata[i--]m++]a;

for(int i=0;i<5;i++)

for(int m=0;m<5;m++)

cout<

蛇形填數 思路(不用**)

4樓:網友

我給個思路:這是個4連通問題。

針對每個方陣中的格仔,與它四連通相鄰的格仔有4個:左右和上下;

要想訪問它們有四個方向:向下y座標加1,縱座標加0,記為(0,1),順時針是向左(-1,0),然後是(0,-1),最後是(1,0);可用乙個方向陣列儲存這四個方向,切換時按順序選取。

陣列開設好,填充為0值;

種子格仔為陣列右上方元素填入第乙個計數1,下面第一方向為(0,1),按照這個方向如果發現新格仔在陣列座標內且其值為0,則進行填充,再按照方向繼續填充;

如果發現上面條件不滿足換第二個方向(-1,0)繼續填充;

直到當前格仔的四個方向均不滿足填充條件時結束。

這樣得到的就是所謂蛇形填數的結果,而且與方陣尺寸無關。

蛇形填數 用c語言

5樓:郝在益

這個,其實也不是很難得。因為是梯增的,所以用i++還是很用以實現的,我在書上看到過例項。

編寫蛇形填數問題 出現e:\devcpro\collect2.exe [error] ld returned 1 exit status錯誤

6樓:

迴圈部分邏輯不清,且如下語句潛在記憶體訪問越界:

while(x-1<=0&&!a[x-1][y]) a[--x][y]=++sum;

c語言蛇形填數

7樓:網友

我幫你看了好久,終於發現了問題在**。你的乙個低階錯誤,讓咱倆費了這麼大的勁, a[x][y++]=++tot;最後乙個內部迴圈中應該為 a[x][+y]=++tot;。改後在vc上執行通過。

給最佳吧。

我的女友填時寫「單身,我的女友填資料時寫「單身」

你這個人也太無聊了,這點小事犯得著這麼認真嗎,在我的映像中個人資料除了已婚就是單身,單身可以表示還沒結婚但並不代表沒有男朋友呀,別鑽牛角尖了,我覺得像這樣好累呀!可能那一選項只有單身和已婚兩個選項,對於女人而言沒有結婚或者乙個男人沒有給予她婚姻的提示她不會無知的說自己是已婚的 你用不著這麼著急吧,不...

您好,我的aps註冊資訊填錯了,也過了十五天,這個給審核部發

是,發郵件給aps審核部,寫清楚你要修改的資訊,大約2,3個工作日就會有回覆 珈我.薇 mz9904 好不好 aps審核 註冊的時候選錯型別了,剛發郵件給審核部請他們幫忙更正,多久能回信呀 好不好改?一天就能回信了吧,效率挺高的。好改。一般賬戶註冊後15天內是可以自己登陸修改的。之後只能通過郵件更改...

我在網上貸款的時候,填錯了銀行卡卡號,對方要我給5000塊錢的手續費什麼的,是怎麼回事呢

有錢花 您好,正規的貸款平臺通常不會以任何理由收取貸前費用,遇到一定要警惕。如果急用錢,可以考慮通過貸款緩解壓力,同時也要量力而行,努力賺錢。現在申請貸款的方式很多,您可以通過抵押申請銀行貸款,更方便的方式是申請個人信用貸款,建議您申請貸款時選擇正規平臺,更好地保障您的個人利益及資訊保安。 優然忘記...