Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. //function prototyping.
  5. void printSortedData(int *array, int size, int dimension);
  6. int *sort(int *array, int size,int dimension);
  7. int mean(int *array, int size, int dimension);
  8. int *median(int *array, int size, int dimension);
  9. int *mode(int *array, int size, int dimension);
  10. int max(int *array, int size, int dimension);
  11.  
  12. int main()
  13. {
  14.  
  15. int dimension = 0;
  16. int size = 0;
  17. int Mean;
  18. int *Median;
  19. int *Mode;
  20. char choice[10];
  21.  
  22. printf("Enter Dimension: ");
  23. scanf("%d", &dimension);
  24. printf("Enter Size: ");
  25. scanf("%d", &size);
  26. int array[dimension][size];
  27. for(int i = 0; i < dimension ; i++){
  28. for(int j = 0; j < size; j++){
  29.  
  30. printf("Array[%d][%d]: ", i, j);
  31. scanf("%d", &array[i][j]);
  32. }
  33.  
  34. }
  35. printSortedData((int*) array, size,dimension);
  36. printf("STATS OR MATRIX?: ");
  37. scanf("%s",&choice);
  38.  
  39.  
  40. if(strcmp("stats",choice) == 0){
  41.  
  42. Mean = mean((int *)array,size,dimension);
  43. int formula = (dimension * size)/2 - 1;
  44. Median = median((int *)array,size,dimension);
  45. printf("The Mean is %d \n", Mean);
  46. if((size * dimension) % 2 == 0){
  47.  
  48. printf("The Median is %d and %d \n", *(Median + formula),*(Median + formula + 1));
  49. }
  50. else{
  51. printf("The Mean is %d \n", *(Median + formula + 1));
  52. }
  53. Mode = mode((int *)array,size,dimension);
  54. printf("The Mode is %d", *Mode);
  55. }
  56.  
  57. }
  58. void printSortedData(int *array, int size, int dimension){
  59.  
  60. int * P_array = sort(array,size,dimension);
  61. for(int i = 0; i < size*dimension; i++){
  62.  
  63. printf("%d \t", *(P_array + i));
  64. }
  65. printf("\n");
  66. }
  67. int *sort(int *array, int size,int dimension){
  68. //function for sorting arrays to smallest to biggest.
  69. int temp;
  70. int count = 0;
  71. for(int i = 0; i < size*dimension; i++){
  72.  
  73. for(int j = count; j < size*dimension; j++){
  74.  
  75. if(*(array + j) < *(array + i)){
  76.  
  77. temp = *(array + i); // holding value of array + i to be switch to array + j.
  78. *(array + i ) = *(array + j);
  79. *(array + j) = temp;
  80.  
  81. }
  82.  
  83. }
  84. count++;
  85.  
  86. }
  87. return array;
  88. }
  89. int mean(int *array, int size, int dimension){
  90.  
  91. int sum,total;
  92. int *P_array = sort(array,size,dimension);
  93.  
  94. for(int i = 0; i<size*dimension; i++){
  95. sum += *(P_array + i);
  96.  
  97. }
  98. total = sum/(size*dimension);
  99.  
  100. return total;
  101.  
  102. }
  103. int *median(int *array, int size, int dimension){
  104. int *P_array = sort(array,size,dimension);
  105. return P_array;
  106. }
  107. int *mode(int *array, int size, int dimension){
  108.  
  109. int *P_array = sort(array,size,dimension);
  110. int *counter = (int*)calloc(size*dimension,sizeof(int));
  111.  
  112. for(int i = 0; i < size * dimension; i++){
  113.  
  114. for(int j = 0; j < size * dimension; j++){
  115.  
  116. if(*(P_array + i) == *(P_array + j)){
  117.  
  118. *(counter + i) += 1;
  119.  
  120. }
  121.  
  122. }
  123.  
  124. //printf("%d",*(counter + i));
  125. }
  126.  
  127. int MAX = max(counter,size,dimension);
  128.  
  129. return (P_array + MAX);
  130. }
  131. int max(int *array, int size, int dimension){
  132.  
  133. int *P_array = sort(array,size,dimension);
  134. int maxpos;
  135. for(int i = 0; i < size * dimension; i++){
  136.  
  137. for(int j = 0; j < size * dimension; j++){
  138.  
  139. if(*(P_array + i) > *(P_array + j)){
  140.  
  141. maxpos = i;
  142.  
  143. }
  144.  
  145. }
  146. }
  147. return maxpos - 1;
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement