############################################################
## Mathematical Functions Script ##
## Version: 1.0 ##
## By: manish ##
## irc.lunarirc.net #LunarIRC Talk with me : User - manish
## COMMAND - !math <numbers> or /math <numbers> ##
############################################################
alias math {
var %numbers = $sorttok($1-,32,n)
set %x 1
set %sum 0
set %maxfreq 1
set %curfreq 1
set %mode $gettok(%numbers, 1, 32)
%total_numbers = $numtok(%numbers,32)
%half = %total_numbers / 2
if ( $int( %half ) == %half ) { set %n even }
else { set %n odd }
while ( %x <= %total_numbers ) {
%current_number = $gettok(%numbers, %x, 32)
%sum = %sum + %current_number
if ( %x >= 2 ) {
%y = %x - 1
if ( $gettok(%numbers, %y, 32) == $gettok(%numbers, %x, 32) ) {
inc %curfreq
}
else {
set %curfreq 1
}
if ( %curfreq > %maxfreq ) {
set %maxfreq %curfreq
set %mode $gettok(%numbers, %x, 32)
}
}
inc %x
}
if ( %n == even ) {
%p = %half + 1
set %p1 $gettok(%numbers, %half, 32) + $gettok(%numbers, %p, 32)
set %median %p1 / 2
}
if ( %n == odd ) {
%p = %total_numbers + 1
%q = %p / 2
set %median $gettok(%numbers, %q, 32)
}
set %mean %sum / %total_numbers
if ($isid) {
if ($prop == mean) { return %mean }
if ($prop == median) { return %median }
if ($prop == mode) { return %mode }
}
elseif (!$isid) {
notice $nick Mean : %mean - Median : %median - Mode : %mode -
} }
on *:TEXT:!math*:#: {
if ( $2 isnum ) {
msg $chan Mean : $math( $2- ).mean - . Median : $math( $2- ).median - . Mode : $math( $2- ).mode - }}
Comments
0 B
|👍
/👎