[Python] 回歸線

「欸!你這題怎麽做?」 程式電神曾經說過:「 copy and paste 」 「 . . . 」 我謹記在心 def makeMatrix(m) : length = len(m) size = int( length**(1/2) ) matrix = [] for i in range(size) : newRow = [] for j in range(size) : newRow.append(m[i*size+j]) matrix.append(newRow) return matrix def makeCoordinate(m) : length = len(m) matrix = [] for row in range(length) : newRow = [m[row]] matrix.append(newRow) return matrix def transpose(m) : lengthRow = len(m) lengthCol = len(m[0]) matrix = [] for col in range(lengthCol) : newRow = [] for row in range(lengthRow) : newRow....

December 19, 2020 · 3 min · CPP

[C++] 期中考詳細參考答案

參考程式碼如下: int caluScore(string &answer, int rightScore, int unansweredScore, int wrongScore) { string reply; getline(cin,reply); int score = 0; int length = reply.size(); for (int i=0;i<length;i++) { if (reply[i] == '.') break; if (reply[i] == ' ') score += unansweredScore; else if (reply[i] == answer[i]) score += rightScore; // means wrong else score += wrongScore; } if (score>100) score = 100; if (score<0) score = 0; return score; } ps 不太懂為什麼題目要傳參 &answer...

December 7, 2020 · 3 min · CPP

[Python] 轉移矩陣

以功能來介紹: 將一維資料轉成二維矩陣 ( makeMatrix ) 將一維資料轉成一行的座標 (makeCoordinate) 轉換轉置矩陣 ( transpose ) 計算行列式 ( determinant ) 計算反矩陣 ( inverse ) 矩陣乘法 ( matrixMutiple ) 轉換基底 ( changeBasis ) def makeMatrix(m) : length = len(m) size = int( length**(1/2) ) matrix = [] for i in range(size) : newRow = [] for j in range(size) : newRow.append(m[i*size+j]) matrix.append(newRow) return matrix def makeCoordinate(m) : length = len(m) matrix = [] for row in range(length) : newRow = [m[row]] matrix....

December 7, 2020 · 2 min · CPP

[C++] NCYU 課堂練習10

請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法! 第二題 此次解題用到 STL 中的 set , 需要引入 <set> 這個函式庫 set 意思是 集合 , C++ 中的 set 跟數學上的 集合 很像 set 中不會有重複的元素 但是 set 會自動由小到大排序 STL 中有一個 find 函式,意思就是尋找該容器中是否存在這個數值,回傳值為 iterator 其他就是單純邏輯運算 查詢 <algorithm> 函式庫,會有意想不到的答案 ※ 雖然 set 很好用,但是對於 C++ 初學者較難理解,所以先用 array 實作 set 看看喔! 程式碼大概如下: #include <iostream> #include <set> using namespace std; void printAnd(set<int> a, set<int> b); void printOr(set<int> a, set<int> b); void printNot(set<int> a, set<int> b); void printXor(set<int> a, set<int> b); void printSet(set<int> a); int main() { set<int> setA; set<int> setB; int a,b; cin>>a>>b; for (int i=0;i<a;i++) { int temp; cin>>temp; setA....

November 27, 2020 · 2 min · CPP

[C++] NCYU 回家功課16

請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法! 回家功課16 以 ^Z 結束輸出 (測資可能有很多行),不是 ^Z 的話就把輸入進來的字串 temp 加進 sentence 裡 最後要處理的字串為 sentence , temp 只是暫時拿來輸入的變數 (temporary) 宣告長度為 26 的陣列,並初始化為 0 (因為不分大小寫的字母有 26 個) 第 0 個代表 A 或 a 、第 1 個代表 B 或 b . . . 以此類推 用 for 迴圈遍歷 sentence 的每一個字元,分成大寫、小寫和其他 用 ASCII 判斷,如果是大寫就 alphabet[sentence[i]-'A']++; 舉例:當 sentence[10] 為 F (ACSII:70) 剪掉 A (ASCII:65) 會等於 5 ,則 alphabet[5] 會 +1 小寫以此類推 其他符號或空格則不考慮,跳過 (continue) 判斷最大值與記錄位置,就把 alphabet 這陣列遍歷過就行了 程式碼大概如下:...

November 27, 2020 · 1 min · CPP