迴圈與2維陣列的問題 |
尚未結案
|
penny015
一般會員 發表:20 回覆:15 積分:7 註冊:2005-03-25 發送簡訊給我 |
我目前要將iArray陣列的偶數位置的值存到StringGrid1->Cells[count_j][count_i],依序是[0][0],[1][0],[2][0],[3][0]....等。編譯時會過,但是RUN程式時會出現OUT OF MEMORY的訊息...請問是我程式寫錯嗎???
還有我迴圈跟IF判斷式寫了很多層,有可以改善的地方,可以更SMART一點。謝謝
int iArray[1224][1624]; for(i=9; i<1214; i ) { for(j=9; j<1624; j ) { if((i>9)&&(j>9)){ if((i%2==0)&&(j%2==0)){ StringGrid1->Cells[count_j][count_i]=(IntToStr(iArray[i}[j])); count_j ; } } count_j ; } count_i ; } |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
penny015
一般會員 發表:20 回覆:15 積分:7 註冊:2005-03-25 發送簡訊給我 |
你好:謝謝你的回應,我想先簡化我的問題來說明我的意思,我如果照我下面的程式RUN出來後,只會將資料填完第一列而已,就不會繼續做了....謝謝
int jj=0,ii=0; for(i=0; i<10; i ) { ii ; for(j=0; j<19; j ) { if((i%2==0)&&(j%2==0)){ jj ; StringGrid1->Cells[jj][ii]=(IntToStr(iArray[i][j])); } } } 引言: 您好: >RUN程式時會出現OUT OF MEMORY的訊息...請問是我程式寫錯嗎??? 這問題應該是Stack OverFlow,您可以去 [Project]->[Option]->[Linker]->PE file options調整Max Stack Size. 還有我迴圈跟IF判斷式寫了很多層,有可以改善的地方,可以更SMART一點。謝謝[/quote]if((i>9)&&(j>9)){//這一行應該可以拿掉吧,然後i,j初值設為10. |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
應該不是沒填,是您的StringGrid的RowCount,ColCount太少
我把他改了一下,您看看吧.
void __fastcall TForm1::Button1Click(TObject *Sender) { int iArray[10][10]; int y=0,x,i,j; for(i=0; i<10; i ) { if (i%2==0) y ; x=0; for(j=0; j<10; j ) { if((i%2==0)&&(j%2==0)) { x ; StringGrid1->Cells[x][y]=(IntToStr(iArray[i][j])); } } } |
penny015
一般會員 發表:20 回覆:15 積分:7 註冊:2005-03-25 發送簡訊給我 |
您好:我將大大提供的程式修改成取一跳三,起始位置是(10,10) 下一個是(14,10)...等。等到把第一列所以行數做完後,應該是跳(10,14)的但是我的程式卻跳到(10,18)....大大可以幫我看看程式有什麼問題嗎???謝謝
void __fastcall TForm1::Button1Click(TObject *Sender) { int iArray[1224][1624]; int y=0,x,i,j; for(i=10; i<1224; i ) { if (i%4==2) y ; x=0; for(j=10; j<1624; j ) { if((i%4==2)&&(j%4==2)) { x ; StringGrid1->Cells[x][y]=(IntToStr(iArray[i][j])); } } } 引言: 您好: 應該不是沒填,是您的StringGrid的RowCount,ColCount太少 我把他改了一下,您看看吧.void __fastcall TForm1::Button1Click(TObject *Sender) { int iArray[10][10]; int y=0,x,i,j; for(i=0; i<10; i ) { if (i%2==0) y ; x=0; for(j=0; j<10; j ) { if((i%2==0)&&(j%2==0)) { x ; StringGrid1->Cells[x][y]=(IntToStr(iArray[i][j])); } } } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |