陣列名稱可以是變數嗎? |
缺席
|
blueanna17
一般會員 發表:4 回覆:2 積分:1 註冊:2007-11-02 發送簡訊給我 |
各位大大: 請問當我定義好多的陣列如下: int left0_1[3]={0,1,2}; int top0_1[3]={0,1,2}; int left1_6[8]={101,55,21,4,30,80,1,2}; int top1_6[8]={101,55,21,4,30,80,1,2}; int left2_7[5]={4,1,5,5,2}; int top2_7[5]={4,1,5,5,2}; int left3_2[4]={10,11,30,2}; int top3_2[4]={10,11,30,2}; . . . 若x值在程式執行時會等於陣列的left"0"_1[3]...""內數值 y值在程式執行時會等於陣列的left0_"1"[3]...""內數值 若我要取出陣列中對應的值,陣列上名稱可以是變數嗎? 目前我的寫法不行, 如何轉換下式成為可執行的? if(left(x)_(y)[i]!=2) { image1->left=left(x)_(y)[i]; image1->left=top(x)_(y)[i]; i ; } |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
如果 i < 8,表示在陣列中找到了值為 2 的元素,那麼就使用這個元素的索引來設置
image1->left 和 image1->top 。如果 i >= 8,表示陣列中不存在值為 2 的元素,那麼就不做任何設置。
注意到你之前的程式碼有一些錯誤,我對它進行了一些修改,並添加了一些註釋,你可以參考以下程式碼:[code cpp] // 假設你要訪問的陣列是 left1_6 和 top1_6 int left1_6[8] = {101, 55, 21, 4, 30, 80, 1, 2}; int top1_6[8] = {101, 55, 21, 4, 30, 80, 1, 2}; // 設置要查找的值 int value = 2; // 設置循環變數 i,並進行循環 int i; for (i = 0; i < 8; i ) { if (left1_6[i] == value) { // 找到了值為 value 的元素,設置 image1->left 和 image1->top,然後退出循環 image1->left = left1_6[i]; image1->top = top1_6[i]; break; } } // 檢查循環是否正常結束 if (i == 8) { // 循環正常結束,但是沒有找到值為 value 的元素 // 在這裡添加適當的錯誤處理代碼 } [/code] 在這個程式碼中,我使用了一個 for 循環來訪問陣列中的每一個元素,並在循環中使用 if 來判斷當前元素是否等於 value 。如果找到了值為 value 的元素,就設置 image1->left 和 image1->top ,然後退出循環。如果循環正常結束,但是沒有找到值為 value 的元素,就在最後一個 if 中添加適當的錯誤處理代碼。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |