Question: I need help fixing the code (javascript) to have the results in 2 decimal places (except for mode). I also don't know how to create
I need help fixing the code (javascript) to have the results in 2 decimal places (except for mode). I also don't know how to create a numeric array. This is for a statistical calculator. Thanks!
performStatistics()
- Input
- None
- Process
- Create a numeric array of the values entered in the textarea control
- Call each of the eight (8) functions (in some order)
- Calling the functions in the correct logical order will help reduce duplicate code
- Store the value returned by each function in the value property of the respective control
- Example: document.getElementById("sum").value=calcSum();
- Output
- Always return false
- Otherwise, the web browser may display an error message
- Always return false
- --------------------
function resetAll(){
document.getElementById("TextBox").value = "";
document.getElementById("min").value = "";
document.getElementById("max").value = "";
document.getElementById("sum").value = "";
document.getElementById("mean").value = "";
document.getElementById("median").value = "";
document.getElementById("mode").value = "";
document.getElementById("std").value = "";
document.getElementById("variance").value = "";
}
function getResult(){
var xValue = document.getElementById("TextBox").value;
values = xValue.split(/\s+/);
for(i=0;i values[i] = parseInt(values[i].trim()); } min = calcMin(values); max = calcMax(values); sum = calcSum(values); mean = calcMean(values); median= calcMedian(values); mode= calcMode(values); variance= calcVariance(values); std= calcStd(values); document.getElementById("min").value = min; document.getElementById("max").value = max; document.getElementById("sum").value = sum; document.getElementById("mean").value = mean; document.getElementById("median").value = median; document.getElementById("mode").value = mode; document.getElementById("std").value = std; document.getElementById("variance").value = variance; } function calcVariance(values){ mean=calcMean(values); temp = 0; for(i=0;i temp += Math.pow(values[i]-mean,2); } return temp/values.length; } function calcStd(values){ variance = calcVariance(values); return Math.pow(variance,1/2); } function calcMode(values){ var count=0; maxCount = 0; for(i=0;i tempCount=0; for(j=i+1;j if(values[i]==values[j]){ tempCount++; } } if(tempCount>maxCount){ maxCount=tempCount; } } list=""; for(i=0;i tempCount=0; for(j=i+1;j if(values[i]==values[j]){ tempCount++; } } if(tempCount==maxCount){ list+=values[i]+" "; } } return list; } function calcMedian(values){ for(i=0;i for(j=i+1;j if(values[i]>values[j]){ temp = values[i]; values[i] = values[j]; values[j] =temp; } } } numsLen = values.length; var median=0; if ( numsLen % 2 === 0 // is even ) { // average of two middle numbers median = (values[numsLen / 2 - 1] + values[numsLen / 2]) / 2; } else { // is odd // middle number only median = values[(numsLen - 1) / 2]; } return median; } function calcMean(values){ sum = calcSum(values); return sum/values.length; } function calcSum(values){ var total = 0; for(i=0;i total+=values[i]; } return total; } function calcMin(values){ var min = 999; for(i=0;i if(values[i] min = values[i]; } } return min; } function calcMax(values){ var min = 0; for(i=0;i if(values[i]>min){ min = values[i]; } } return min; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
