<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://genome.sph.umich.edu/w/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Class_Averages</id>
	<title>C++ Class Averages - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://genome.sph.umich.edu/w/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Class_Averages"/>
	<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=C%2B%2B_Class_Averages&amp;action=history"/>
	<updated>2026-10-15T15:05:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=C%2B%2B_Class_Averages&amp;diff=1897&amp;oldid=prev</id>
		<title>Mktrost: Created page with &#039;&lt;source lang=&quot;cpp&quot;&gt; // Static method that returns the mean, meadian, and mode for this dataset. void Average::calculateAverages(double&amp; mean,                                 doub…&#039;</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=C%2B%2B_Class_Averages&amp;diff=1897&amp;oldid=prev"/>
		<updated>2010-08-02T16:27:11Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; // Static method that returns the mean, meadian, and mode for this dataset. void Average::calculateAverages(double&amp;amp; mean,                                 doub…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// Static method that returns the mean, meadian, and mode for this dataset.&lt;br /&gt;
void Average::calculateAverages(double&amp;amp; mean,&lt;br /&gt;
                                double&amp;amp; median,&lt;br /&gt;
                                std::vector&amp;lt;int&amp;gt;&amp;amp; modes)&lt;br /&gt;
{&lt;br /&gt;
    // Track the number of entries that have been passed so far.&lt;br /&gt;
    // This is for determing the median.&lt;br /&gt;
    int numSeen = 0;&lt;br /&gt;
    int dataSetSize = myDataSet.size();&lt;br /&gt;
    bool isOdd = (NumDataValues() % 2);&lt;br /&gt;
    int midPoint = NumDataValues() / 2;&lt;br /&gt;
&lt;br /&gt;
    median = -1;&lt;br /&gt;
    int average = 0;&lt;br /&gt;
    &lt;br /&gt;
    for(int i = 0; i &amp;lt; dataSetSize; i++)&lt;br /&gt;
    {&lt;br /&gt;
        if(median == -1)&lt;br /&gt;
        {&lt;br /&gt;
            // Still haven&amp;#039;t calculated median, so keep checking it.&lt;br /&gt;
            numSeen += myDataSet[i];&lt;br /&gt;
            if(numSeen &amp;gt;= midPoint)&lt;br /&gt;
            {&lt;br /&gt;
                // Have reached the midpoint.&lt;br /&gt;
                // If the length is odd, just return this value.&lt;br /&gt;
                if(isOdd)&lt;br /&gt;
                {&lt;br /&gt;
                    median = i;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    // The length is even.  So need to take the two midpoints&lt;br /&gt;
                    // and average them.  midPoint is set to the first midpoint&lt;br /&gt;
                    // also, the next one needs to be averaged.&lt;br /&gt;
                    // the previous value and average them.&lt;br /&gt;
                    if(numSeen == midPoint)&lt;br /&gt;
                    {&lt;br /&gt;
                        if(average == 0)&lt;br /&gt;
                        {&lt;br /&gt;
                            average = i;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        if(average == 0)&lt;br /&gt;
                        {&lt;br /&gt;
                            median = i;&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            median = (average + i)/2.0;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Determine if this position is part of the mode.&lt;br /&gt;
        if(myDataSet[i] == myMaxCount)&lt;br /&gt;
        {&lt;br /&gt;
            modes.push_back(i);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mktrost</name></author>
	</entry>
</feed>