線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1282
推到 Plurk!
推到 Facebook!

尋找多個陣列中符合條件的陣列及利用迴圈改變多個名稱相似的變數

答題得分者是:harpist
makiyolove87
一般會員


發表:5
回覆:2
積分:0
註冊:2007-05-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-23 11:29:57 IP:59.116.xxx.xxx 訂閱
假設現在有五個陣列分別為
S_1[3]={1,2,3};
S_2[3]={2,2,3};
S_3[3]={3,2,3};
S_4[3]={4,2,3};
S_5[3]={5,2,3};

這些陣列名稱都很類似,
然後使用者輸入的數字設為變數 a
然後我現在想要在S_1~S_5這五個陣列中找尋 [0] 的部份為a的陣列出來
假設a=3
然後計算出來結果 ,符合條件的陣列是S_3
然後return 陣列名稱
有沒有函式庫有這個功能?或者有沒有簡易點的寫法?


另外再問有沒有辦法 利用迴圈改變多個名稱相似變數(就像上列舉例的陣列名稱)的方法

像是(下面是錯誤寫法)
for(int i=0; i<5; i )
{
"S_" Ansistr(i)=0;
}
這樣的?
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-23 14:24:05 IP:211.74.xxx.xxx 未訂閱
<textarea class="cpp" rows="10" cols="60" name="code">#include void __fastcall TForm1::Button1Click(TObject *Sender) { using namespace std; int S_1[3]={1,2,3}; int S_2[3]={2,2,3}; int S_3[3]={3,2,3}; int S_4[3]={4,2,3}; int S_5[3]={5,2,3}; map *Arraymap = new map; Arraymap->insert(map::value_type("S_1",(void*)S_1)); Arraymap->insert(map::value_type("S_2",(void*)S_2)); Arraymap->insert(map::value_type("S_3",(void*)S_3)); Arraymap->insert(map::value_type("S_4",(void*)S_4)); Arraymap->insert(map::value_type("S_5",(void*)S_5)); int a = 3; int *pa; String ArrayName = "S_" IntToStr(a); //"S_3" map::iterator it; if(Arraymap->count(ArrayName.c_str())) //是否有"S_3" { it = Arraymap->find(ArrayName.c_str()); if(it != Arraymap->end()) { ShowMessage((*it).first.begin()); //修改前的名稱 pa = (int*)(*it).second; //指向陣列 Arraymap->erase(ArrayName.c_str()); //移除"S_3" Arraymap->insert(map::value_type("S_9",(void*)pa)); //新增為"S_9" } } //利用迴圈修改S_1~S_9陣列內容 for(int i=0; i<=9; i ) { ArrayName = "S_" IntToStr(i); it = Arraymap->find(ArrayName.c_str()); if(it != Arraymap->end()) { ShowMessage((*it).first.begin()); //名稱 pa = (int*)(*it).second; //指向陣列 ShowMessage(pa[0]); //修改前的值 pa[0] = 9; //修改陣列的值 ShowMessage(pa[0]); //修改後的值 } } delete Arraymap; } </textarea>

變數名稱只是對映記憶體如果自己要動態管理名稱其實有很多方式只是將名稱與記憶體做連結
------
~§~迷時師渡,悟了自渡~§~
系統時間:2024-11-25 11:57:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!