freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

程序設(shè)計實習(xí)第五講枚舉(編輯修改稿)

2024-11-03 16:56 本頁面
 

【文章內(nèi)容簡介】 for( int a1 = 0。 a1 2。 a0 ++ ) for( int a2 = 0。 a2 2。 a0 ++ ) for( int a3 = 0。 a3 2。 a0 ++ ) for( int a4 = 0。 a4 2。 a0 ++ ) for( int a5 = 0。 a5 2。 a0 ++ ) { anSwitch[0][0] = a0。 anSwitch[0][1] = a1。 anSwitch[0][2] = a2。 …… } //如果每行燈很多,或每行開關(guān)數(shù)目是可變數(shù) N那怎么辦 ? 適用于一行有 N個開關(guān)的辦法 : 一個 6位二進(jìn)制數(shù)的所有取值正好是 64種, 讓該數(shù)的每一位對應(yīng)于 anSwitch[0]里的一個元素 ( anSwitch[0][5] 對應(yīng)最高位, anSwitch[0][4]對應(yīng)次高位 ….. ) ,那么這個二進(jìn)制數(shù)的每個取值正好表示了第一行開關(guān)的一種狀態(tài)。 (如果一行有 N個開關(guān),那么就用一個 N位二進(jìn)制數(shù)) 比如, 0 的二進(jìn)制表示形式是 00 0000,即代表所有開關(guān)都不按下 63 的二進(jìn)制表示形式是 11 1111,即代表所有開關(guān)都按下 5 的二進(jìn)制表示形式是 00 00101,即代表右數(shù)第 1, 3個開關(guān)按下 要寫一個從二進(jìn)制數(shù)到狀態(tài)的轉(zhuǎn)換函數(shù): void SwitchStatus( int n, int * pSwitchLine)。 該函數(shù)將整數(shù) n( 0 =n64)的二進(jìn)制表示形式對應(yīng)到數(shù)組pSwitchLine里去 ( pSwitchLIne [i] 對應(yīng)第 i位 ) void SwitchStatus( int n, int * pSwitch) { for( i = 0。i 6 。i ++ ) pSwitch[i] = (n i ) amp。 1。 } 要寫一個讓開關(guān)起作用的函數(shù) void ApplySwitch( int * pLights, int * pNextLights, int * pSwitchs) 。 pSwitchs 表示一行開關(guān)的狀態(tài) pLights 表示與開關(guān)同一行的燈的狀態(tài) pNextLights表示開關(guān)起作用后下一行的燈的狀態(tài) 本函數(shù)根據(jù) pSwitchs 所代表的開關(guān)狀態(tài),計算這行開關(guān)起作用后, pLights行和 pNextLights行的燈的狀態(tài) 不考慮開關(guān)的上一行的燈,是因為設(shè)定 pSwitchs的值的時候,已經(jīng)確保會使得上一行的燈變成全滅(或沒有上一行) void ApplySwitch( int * pLights, int * pNextLights, int * pSwitchs) { for( int i = 0。i 6。 i ++ ) { //依次讓每個開關(guān)起作用 if( pSwitchs[i] ) {//第 i個開關(guān)按下 //開關(guān)左邊的燈改變狀態(tài) if( i 0 ) pLights[i1] = 1 pLights[i1]。 //開關(guān)所在位置的燈改變狀態(tài) pLights[i] = 1 pLights[i]。 //開關(guān)右邊的燈改變狀態(tài) if( i 5) pLights[i+1] = 1 pLights[i+1]。 //開關(guān)下邊的燈改變狀態(tài) pNextLights[i] = 1 pNextLights[i]。 } } } include include include iostream using namespace std。 int T。 int anPuzzle[6][6]。 int anOriPuzzle[6][6]。 int anSwitch[6][6]。 //開關(guān)狀態(tài) int i,j。 void OutputResult(int t) //輸出結(jié)果 { cout PUZZLE t endl。 for( int i = 0。i 5。 i ++ ) { for( int j = 0。 j 6。 j ++ ) { cout anSwitch[i][j]。 if( j 5 ) cout 。 } cout endl。 } } int main() { cin T。 for( int t = 0。 t T。 t ++ ) { for( i = 0。i 5。 i ++ ) for( j = 0。 j 6。 j ++ ) cin anOriPuzzle[i][j]。 for( int n = 0。 n 64。 n ++ ) { //遍歷首行開關(guān)的 64種狀態(tài) memcpy( anPuzzle,anOriPuzzle,sizeof(anPuzzle))。 //算出 n所代表的開關(guān)狀態(tài),放到 anSwitch[0] SwitchStatus( n, anSwitch[0])。 //下面逐行讓開關(guān)起作用,并算出下一行開關(guān)應(yīng)該是什么狀態(tài),再讓它們起作用 …… for( int k = 0。 k 5。 k ++ ) { //算出第 k行開關(guān)起作用后的結(jié)果 ApplySwitch( anPuzzle[k], anPuzzle[k+1],anSwitch[k])。 //第 k+1行的開關(guān)狀態(tài)應(yīng)和第 k行的燈狀態(tài)一致 memcpy( anSwitch[k+1], anPuzzle[k],sizeof(anPuzzle[k]))
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1