請問如何將MEMO資料中的值兩兩做比較並抓取出最大值 |
答題得分者是:ikk
|
seiken
一般會員 ![]() ![]() 發表:9 回覆:29 積分:7 註冊:2008-11-21 發送簡訊給我 |
各大大好
小弟寫了1個迴圈 用ScanLine的方法掃圖用MEMO將Y值和像素值顯示出來 如何將MEMO資料中的值兩兩做比較並抓取出最大值 for(int y=50;y<=150;y ) <------------------ 圖片要掃的高度範圍 { ptr2=(Byte*) TempBitmap2->ScanLine[y]; <----------藉由ScanLine的方法掃入 for(int x=666;x<667;x )<----指定圖片要掃的寬度範圍 { Bmapbuf1[0]=ptr2[x]; <-------------像素值暫存在Bmapbuf1[0] Label29->Visible=true; Label29->Caption=x; Memo1->Lines->Add(IntToStr(y) ":" IntToStr(ptr2[x]));<---------------將Y值和像素值顯示出來 } } 例如 Y Ptr2[x] 50 1 51 1 52 1 . . 79 95 80 111 81 157 如何將MEMO資料中的值兩兩做比較並抓取出最大值 麻煩各位大大鞭打指導 小弟會認真學習
------
丫風 |
ikk
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
[code cpp] int compareints (const void * a, const void * b) { return ( *(int*)a - *(int*)b ); } void __fastcall TForm1::Button2Click(TObject *Sender) { char msg[128]; AnsiString asGet; char * chIndex; char TmpString[128]; int index; int * intList; intList = new int[100]; for( int i=0; i<100; i ) { strcpy(TmpString, Memo1->Lines->Strings[i].c_str()); chIndex = strchr(TmpString,' '); index = chIndex - TmpString 1; index = 1; //skip ' ' asGet = Memo1->Lines->Strings[i].SubString(index,32); intList[i] = asGet.ToInt(); } qsort(intList, 100, sizeof(int), compareints); sprintf(msg,"%d is the biggest value.", intList[99] ); Memo1->Lines->Add(msg); delete [] intList; } [/code]
------
FPGA驗證, FPGA開發平台, http://smims.com |
seiken
一般會員 ![]() ![]() 發表:9 回覆:29 積分:7 註冊:2008-11-21 發送簡訊給我 |
|
ikk
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:4 回覆:413 積分:768 註冊:2003-06-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |