Categories: MSDN / DotNet / Java / Scripts / Linux / PHP Ask - La ask - La Answer

Help

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

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;
}

I used the file output to help debug
[1708 byte] By [stormswimmer] at [2007-11-11 8:01:44]
# 1 Re: Help
Can you clarify whay you mean by the mode of an array of doubles
noelob at 2007-11-11 22:36:42 >
# 2 Re: Help
An array of doubles read in from a file

double array = new double [10];

The mode of a set of numbers is the number that occurs most often.
stormswimmer at 2007-11-11 22:37:42 >