全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2334
推到 Plurk!
推到 Facebook!

陣列名稱可以是變數嗎?

缺席
blueanna17
一般會員


發表:4
回覆:2
積分:1
註冊:2007-11-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-02-03 11:51:02 IP:61.218.xxx.xxx 訂閱

各位大大:
請問當我定義好多的陣列如下:

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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2023-05-03 08:49:14 IP:59.120.xxx.xxx 未訂閱
如果 i < 8,表示在陣列中找到了值為 2 的元素,那麼就使用這個元素的索引來設置 image1->leftimage1->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->leftimage1->top,然後退出循環。如果循環正常結束,但是沒有找到值為 value 的元素,就在最後一個 if 中添加適當的錯誤處理代碼。
系統時間:2024-04-25 19:06:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!