Can anyone give me some ideas for calculating the mode of an array of doubles. I am looking for an alogorithm not code. Thank you for any help
This is what i have so far
I used the file output to help debugCode:public static double mode(double array[]) throws IOException { double n; int freq = 0; int Mfreq = 0; double Mn = array[0]; ArrayList modes = new ArrayList(1); modes.add(1.0); PrintStream fout = new PrintStream( new FileOutputStream("output.txt")); for (int i = 0; i < array.length; i++) { n = array[i]; fout.println("n = "+n); for (int j = 0; j < array.length; j++) { fout.println("\tarray["+j+"] = "+array[j]); if (array[j] == n) { fout.println("\t\t Freq ++"); freq++; double temp = (Double) modes.get(modes.size()-1); if(temp <= freq) { modes.add(array[j]); } } } fout.println("Freq = "+freq); freq = 0; if (freq > Mfreq) { Mn = n; } } fout.print("\t\tArrayList Modes"); for(int i = 0; i <= modes.size() -1; i ++) { fout.println(modes.get(i)); } return Mn; }


Reply With Quote


Bookmarks