C_Sharp 板


LINE

各位高手們 可以幫我看看我的程式出了什麼問題嗎 我寫了一個自動倒車入庫的程式 我用了遞迴 在主程式中呼叫EXE副程式 然後在EXE的最後呼叫自己 但是程式中的e跟y可以順利 傳回自己重複運算 但是phi卻不行>"< (隨著呼叫次數改變 e y 會一直變 但是phi 跟theta卻始終維持不變..) 我明明都用一樣的方法寫阿.. 請各位幫我解答吧! 感謝感謝!!!<(_ _)> using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { //================================================= static public double LE(double x) //LE(x) { if (x<10) return 1; else if (x >= 10 && x<35) return (35-x) / 25; else return 0; } //================================================== static public double LC(double x) //LC(x) { if (x>=30 && x<40) return 1-((40-x)/10); else if (x>=40 && x<50) return (50-x)/10; else return 0; } //=================================================== static public double CE(double x) //CE(x) { if (x >= 45 && x < 50) return 1-((50-x) / 5); else if (x >= 50 && x < 55) return (55-x) / 5; else return 0; } //================================================= static public double RC(double x) //RC(x) { if (x >= 50 && x < 60) return 1-((60-x) / 10); else if (x >= 60 && x < 70) return (70-x) / 10; else return 0; } //================================================== static public double RJ(double x) //RJ(x) { if (x >= 65 && x < 90) return 1-((90 - x) / 25); else if (x >= 90) return 1; else return 0; } //================================================== static public double RB(double x) //RB(x) { if (x >= -100 && x < -45) return 1-((-45 - x) / 55); else if (x >= -45 && x < 10) return (10 - x) / 55; else return 0; } //================================================== static public double RU(double x) //RU(x) { if (x >= -10 && x < 25) return 1-((25 - x) / 35); else if (x >= 25 && x < 60) return (60 - x) / 35; else return 0; } //=================================================== static public double RV(double x) //RV(x) { if (x >= 40 && x < 65) return 1-((65 - x) / 25); else if (x >= 65 && x < 90) return (90 - x) / 25; else return 0; } //=================================================== static public double VE(double x) //VE(x) { if (x >= 80 && x < 90) return 1-((90 - x) / 10); else if (x >= 90 && x < 100) return (100 - x) / 10; else return 0; } //=================================================== static public double LV(double x) //LV(x) { if (x >= 90 && x < 115) return 1-((115 - x) / 25); else if (x >= 115 && x < 140) return (140 - x) / 25; else return 0; } //=================================================== static public double LU(double x) //LU(x) { if (x >= 120 && x < 155) return 1-((155 - x) / 35); else if (x >= 155 && x < 190) return (190 - x) / 35; else return 0; } //=================================================== static public double LB(double x) //LB(x) { if (x >= 170 && x < 225) return 1-((225 - x) / 55); else if (x >= 225 && x < 280) return (280 - x) / 55; else return 0; } //==================================================== static public double MIN(double m, double n) //Find the minimum of two numbers { if (m >= n) return n; else return m; } //==================================================== static public void EXE( double e, double y, double phi) { int NB = -30, NM = -15, NS = -6, ZE = 0, PS = 7, PM = 15, PB = 30; double[] MOTHER = new double[35]; double[] CHILD = new double[35]; double Add_Childs = 0, Add_Mothers = 0, theta; int counter; CHILD[0] = MIN(RB(phi), LE(e)) * PS; CHILD[1] = MIN(RB(phi), LC(e)) * PM; CHILD[2] = MIN(RB(phi), CE(e)) * PM; CHILD[3] = MIN(RB(phi), RC(e)) * PB; CHILD[4] = MIN(RB(phi), RJ(e)) * PB; CHILD[5] = MIN(RU(phi), LE(e)) * NS; CHILD[6] = MIN(RU(phi), LC(e)) * PS; CHILD[7] = MIN(RU(phi), CE(e)) * PM; CHILD[8] = MIN(RU(phi), RC(e)) * PB; CHILD[9] = MIN(RU(phi), RJ(e)) * PB; CHILD[10] = MIN(RV(phi), LE(e)) * NM; CHILD[11] = MIN(RV(phi), LC(e)) * NS; CHILD[12] = MIN(RV(phi), CE(e)) * PS; CHILD[13] = MIN(RV(phi), RC(e)) * PM; CHILD[14] = MIN(RV(phi), RJ(e)) * PB; CHILD[15] = MIN(VE(phi), LE(e)) * NM; CHILD[16] = MIN(VE(phi), LC(e)) * NM; CHILD[17] = MIN(VE(phi), CE(e)) * ZE; CHILD[18] = MIN(VE(phi), RC(e)) * PM; CHILD[19] = MIN(VE(phi), RJ(e)) * PM; CHILD[20] = MIN(LV(phi), LE(e)) * NB; CHILD[21] = MIN(LV(phi), LC(e)) * NM; CHILD[22] = MIN(LV(phi), CE(e)) * NS; CHILD[23] = MIN(LV(phi), RC(e)) * PS; CHILD[24] = MIN(LV(phi), RJ(e)) * PM; CHILD[25] = MIN(LU(phi), LE(e)) * NB; CHILD[26] = MIN(LU(phi), LC(e)) * NB; CHILD[27] = MIN(LU(phi), CE(e)) * NM; CHILD[28] = MIN(LU(phi), RC(e)) * NS; CHILD[29] = MIN(LU(phi), RJ(e)) * PS; CHILD[30] = MIN(LB(phi), LE(e)) * NB; CHILD[31] = MIN(LB(phi), LC(e)) * NB; CHILD[32] = MIN(LB(phi), CE(e)) * NM; CHILD[33] = MIN(LB(phi), RC(e)) * NM; CHILD[34] = MIN(LB(phi), RJ(e)) * NS; MOTHER[0] = MIN(RB(phi), LE(e)); MOTHER[1] = MIN(RB(phi), LC(e)); MOTHER[2] = MIN(RB(phi), CE(e)); MOTHER[3] = MIN(RB(phi), RC(e)); MOTHER[4] = MIN(RB(phi), RJ(e)); MOTHER[5] = MIN(RU(phi), LE(e)); MOTHER[6] = MIN(RU(phi), LC(e)); MOTHER[7] = MIN(RU(phi), CE(e)); MOTHER[8] = MIN(RU(phi), RC(e)); MOTHER[9] = MIN(RU(phi), RJ(e)); MOTHER[10] = MIN(RV(phi), LE(e)); MOTHER[11] = MIN(RV(phi), LC(e)); MOTHER[12] = MIN(RV(phi), CE(e)); MOTHER[13] = MIN(RV(phi), RC(e)); MOTHER[14] = MIN(RV(phi), RJ(e)); MOTHER[15] = MIN(VE(phi), LE(e)); MOTHER[16] = MIN(VE(phi), LC(e)); MOTHER[17] = MIN(VE(phi), CE(e)); MOTHER[18] = MIN(VE(phi), RC(e)); MOTHER[19] = MIN(VE(phi), RJ(e)); MOTHER[20] = MIN(LV(phi), LE(e)); MOTHER[21] = MIN(LV(phi), LC(e)); MOTHER[22] = MIN(LV(phi), CE(e)); MOTHER[23] = MIN(LV(phi), RC(e)); MOTHER[24] = MIN(LV(phi), RJ(e)); MOTHER[25] = MIN(LU(phi), LE(e)); MOTHER[26] = MIN(LU(phi), LC(e)); MOTHER[27] = MIN(LU(phi), CE(e)); MOTHER[28] = MIN(LU(phi), RC(e)); MOTHER[29] = MIN(LU(phi), RJ(e)); MOTHER[30] = MIN(LB(phi), LE(e)); MOTHER[31] = MIN(LB(phi), LC(e)); MOTHER[32] = MIN(LB(phi), CE(e)); MOTHER[33] = MIN(LB(phi), RC(e)); MOTHER[34] = MIN(LB(phi), RJ(e)); for (counter = 0; counter <= 34; counter++) { Add_Childs = Add_Childs + CHILD[counter]; Add_Mothers = Add_Mothers + MOTHER[counter]; } theta = Add_Childs / Add_Mothers; Console.WriteLine("\n\ntheta: {0}", theta); e = e + 1.6 * Math.Sin((Math.PI / 180) * theta) * Math.Cos((Math.PI / 180) * phi); y = y + 1.6 * Math.Sin((Math.PI / 180) * theta) * Math.Cos((Math.PI / 180) * phi); phi =(180/Math.PI)* Math.Atan((Math.Sin((Math.PI / 180) * phi) + 1.6 * Math.Cos(Math.PI / 180 * phi) * Math.Sin(Math.PI / 180 * theta)) / (Math.Cos((Math.PI / 180) * phi) - 1.6 * Math.Sin(Math.PI / 180 * phi) * Math.Sin(Math.PI / 180 * theta))); Console.WriteLine("\n\nNew_x: {0}", e); Console.WriteLine("\n\nNew_y: {0}", y); Console.WriteLine("\n\nNew_phi: {0}", phi); Console.WriteLine("======================================="); phi = phi*Math.PI/180; while (e != 50 && y != 100 && e<=100 && y<=100&&theta!=0&&phi!=90) EXE( e, y, phi); Console.Read(); } static void Main(string[] args) { double e1, phi1, y1; string temp1, temp2, temp3; Console.Write("1.請輸入X值: "); temp1 = Console.ReadLine(); e1 = System.Convert.ToDouble(temp1); Console.Write("2.請輸入Y值: "); temp3 = Console.ReadLine(); y1 = System.Convert.ToDouble(temp3); Console.Write("3.請輸入φ值: "); temp2 = Console.ReadLine(); phi1 = System.Convert.ToDouble(temp2); EXE(e1, y1, phi1); } } } --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.208.92 ※ 編輯: ssupermaxx 來自: 59.116.51.211 (01/13 21:29) ※ 編輯: ssupermaxx 來自: 59.116.51.211 (01/14 01:42)
1F:推 EricTsai:自己F11一步一步跑會看不出來嗎... 01/14 14:01







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP