全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1103
推到 Plurk!
推到 Facebook!

一個求平均值的問題

尚未結案
clarinat
一般會員


發表:3
回覆:6
積分:1
註冊:2004-11-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-28 14:47:14 IP:220.141.xxx.xxx 未訂閱
各位好 我有一個問題 如果有一個16個元素的陣列 EX:{146,149,152,156,97,122,144,147,89,90,135,145,85,92,99,120} 1.計算出這陣列平均值(123) 2.把每個元素和平均值比較大小後分成 A>=平均和 B<平均值 二群 3.再分別算出A B 的平均值a b 4.再把A的元素和平均值a比較再做細分(B群也是如此) 如此的步驟一直到無法再細分為止 條件是計算時不可移動元素的位置 小弟為初學者實在想不出來 不知道上面的敘述有沒有清楚表達 還請各位幫忙 謝謝
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-28 17:30:09 IP:203.204.xxx.xxx 未訂閱
你要的是什麼?這個嗎~~不過我用JAVA寫滴~順手寫來~應該有錯~^^b import java.io.*;    public class abc{ public void recursion(int[] element) { int sum=0;   for(int i=0;i=avg) { countA ; } else { countB ; } } int A[]=new int[countA]; int B[]=new int[countB]; countA=countB=0; for(int k=0;k=avg) { A[countA]=element[k]; countA ; } else { B[countB]=element[k]; countB ; } } System.out.print(" A : "); for(int h=0;h=3) recursion(A); System.out.println(" "); if(B.length>=2) recursion(B); } public static void main(String[] as){ int max[]={146,149,152,156,97,122,144,147,89,90,135,145,85,92,99,120}; String a=""; abc ac=new abc(); ac.recursion(max); System.out.println("end"); } }
clarinat
一般會員


發表:3
回覆:6
積分:1
註冊:2004-11-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-28 18:09:46 IP:220.141.xxx.xxx 未訂閱
您好 感謝您的回覆 但是我是初學者 對JAVA完全不熟 可否請您在程式裡做一下註解 好讓我消化一下 謝謝 clarinat 上
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-29 04:42:18 IP:203.204.xxx.xxx 未訂閱
//java語法基本上和c差不多~我說明一下我的程式內容~改了一下現在可正確執行無誤 //遞迴的觀念~既然是功課希望你自己改成C的程式碼~觀念一樣~~
import java.io.*;    public class abc{
public void recursion(float[] element)
{ float sum=0;                          
  for(int i=0;i=avg)
          {  
              countA  ; 
          }
         else 
          { 
             countB  ;
          }
      }
   float A[]=new float[countA];          //產生A和B群的陣列大小好置 
   float B[]=new float[countB];           //放分類後的數字       countA=countB=0;
   for(int k=0;k=avg)
          {  
             A[countA]=element[k];
              countA  ; 
          }
         else 
          { 
           B[countB]=element[k];
              countB  ; 
          }
      }
     System.out.print(" A : ");             //列印文字A:
     for(int h=0;h=2)                          //判斷A群的大小大於2表示
     recursion(A);                          //還可細分那再遞迴呼叫
                                            //自己這個函式 
  System.out.println(" ");                  //列印空格及跳行 
  if(B.length>=2)                           //改判斷B群數目
    recursion(B);    }
public static void main(String[] as){         //程式入口~由此執行
  float max[]={146,149,152,156,97,122,144,147,89,90,135,145,85,92,99,120};
  String a="";
   abc ac=new abc();                          //建立abc的實例物件
   ac.recursion(max);                         //呼叫上面的函式功能,將
                                 // max陣列的數字丟進遞迴的函式中處理 
  System.out.println("end");                  //列印結束 
   
}    }    
發表人 - rogan321 於 2004/11/29 04:49:21 發表人 - rogan321 於 2004/11/29 04:51:56
clarinat
一般會員


發表:3
回覆:6
積分:1
註冊:2004-11-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-30 20:26:49 IP:220.141.xxx.xxx 未訂閱
謝謝您
clarinat
一般會員


發表:3
回覆:6
積分:1
註冊:2004-11-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-30 20:27:06 IP:220.141.xxx.xxx 未訂閱
謝謝您 clarinat 上
系統時間:2024-06-26 23:58:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!