Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- //function prototyping.
- void printSortedData(int *array, int size, int dimension);
- int *sort(int *array, int size,int dimension);
- int mean(int *array, int size, int dimension);
- int *median(int *array, int size, int dimension);
- int *mode(int *array, int size, int dimension);
- int max(int *array, int size, int dimension);
- int main()
- {
- int dimension = 0;
- int size = 0;
- int Mean;
- int *Median;
- int *Mode;
- char choice[10];
- printf("Enter Dimension: ");
- scanf("%d", &dimension);
- printf("Enter Size: ");
- scanf("%d", &size);
- int array[dimension][size];
- for(int i = 0; i < dimension ; i++){
- for(int j = 0; j < size; j++){
- printf("Array[%d][%d]: ", i, j);
- scanf("%d", &array[i][j]);
- }
- }
- printSortedData((int*) array, size,dimension);
- printf("STATS OR MATRIX?: ");
- scanf("%s",&choice);
- if(strcmp("stats",choice) == 0){
- Mean = mean((int *)array,size,dimension);
- int formula = (dimension * size)/2 - 1;
- Median = median((int *)array,size,dimension);
- printf("The Mean is %d \n", Mean);
- if((size * dimension) % 2 == 0){
- printf("The Median is %d and %d \n", *(Median + formula),*(Median + formula + 1));
- }
- else{
- printf("The Mean is %d \n", *(Median + formula + 1));
- }
- Mode = mode((int *)array,size,dimension);
- printf("The Mode is %d", *Mode);
- }
- }
- void printSortedData(int *array, int size, int dimension){
- int * P_array = sort(array,size,dimension);
- for(int i = 0; i < size*dimension; i++){
- printf("%d \t", *(P_array + i));
- }
- printf("\n");
- }
- int *sort(int *array, int size,int dimension){
- //function for sorting arrays to smallest to biggest.
- int temp;
- int count = 0;
- for(int i = 0; i < size*dimension; i++){
- for(int j = count; j < size*dimension; j++){
- if(*(array + j) < *(array + i)){
- temp = *(array + i); // holding value of array + i to be switch to array + j.
- *(array + i ) = *(array + j);
- *(array + j) = temp;
- }
- }
- count++;
- }
- return array;
- }
- int mean(int *array, int size, int dimension){
- int sum,total;
- int *P_array = sort(array,size,dimension);
- for(int i = 0; i<size*dimension; i++){
- sum += *(P_array + i);
- }
- total = sum/(size*dimension);
- return total;
- }
- int *median(int *array, int size, int dimension){
- int *P_array = sort(array,size,dimension);
- return P_array;
- }
- int *mode(int *array, int size, int dimension){
- int *P_array = sort(array,size,dimension);
- int *counter = (int*)calloc(size*dimension,sizeof(int));
- for(int i = 0; i < size * dimension; i++){
- for(int j = 0; j < size * dimension; j++){
- if(*(P_array + i) == *(P_array + j)){
- *(counter + i) += 1;
- }
- }
- //printf("%d",*(counter + i));
- }
- int MAX = max(counter,size,dimension);
- return (P_array + MAX);
- }
- int max(int *array, int size, int dimension){
- int *P_array = sort(array,size,dimension);
- int maxpos;
- for(int i = 0; i < size * dimension; i++){
- for(int j = 0; j < size * dimension; j++){
- if(*(P_array + i) > *(P_array + j)){
- maxpos = i;
- }
- }
- }
- return maxpos - 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement