Skip to content

Instantly share code, notes, and snippets.

@rigibun
Created October 18, 2013 13:08
Show Gist options
  • Save rigibun/7041288 to your computer and use it in GitHub Desktop.
Save rigibun/7041288 to your computer and use it in GitHub Desktop.
import std.stdio;
import std.math;
import std.algorithm;
import std.string;
import std.conv;
void main()
{
int[] arr;
writeln("number of data");
int n = readln.chomp.to!int;
for(int i = 0; i < n; i++)
{
arr ~= readln.chomp.to!int;
}
arr.sort;
auto avg = 0.0;
foreach(e; arr)
{
avg += e;
}
avg /= n;
auto mode = 0;
{
int maxmode = 0;
int curmode = 0;
for(int i = 1; i < n; i++)
{
if(arr[i] == arr[i - 1])
curmode++;
else
curmode = 0;
if(curmode > maxmode)
{
mode = arr[i];
maxmode = curmode;
}
}
}
double median = (n % 2 == 0) ? ((arr[n / 2] + arr[n / 2 - 1]) / 2) : arr[n / 2];
auto VR = 0.0;
foreach(e; arr)
{
VR += pow(e, 2) / (n - 1);
}
auto SD = sqrt(VR);
foreach(i, e; arr)
{
writeln(e, (i%5==4) ? '\n' : '\t');
}
writeln("average = ", avg);
writeln("mode = ", mode);
writeln("median = ", median);
writeln("standard_deviation = ", SD);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment