Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int column_statistics(const int *ptr, int width, int height, int column_id, int *max, int *min, float *avg)
  5. { //tab[wiersze][kolumny]
  6. //dla kolumn:
  7. int j;
  8. *max = *(ptr + column_id);
  9. *min = *(ptr + column_id);
  10. for (j = 0; j < height; j++)
  11. {
  12. int current = *(ptr + column_id+width*j);
  13. *avg += current;
  14. if (*max < current)
  15. {
  16. *max = current;
  17. }
  18. if (*min > current)
  19. {
  20. *min = current;
  21. }
  22. }
  23.  
  24. *avg /= height;
  25. printf("kolumna: %d srednia: %f, max: %d, min: %d\n", column_id, *avg, *max, *min);
  26. return 1;
  27. }
  28.  
  29. int row_statistics(const int *ptr, int width, int height, int row_id, int *max, int *min, float *avg)
  30. {
  31. int i;
  32. // init max and min to first element of each row
  33. *max = *(ptr + row_id * width);
  34. *min = *(ptr + row_id * width);
  35.  
  36. for (i = 0; i<width; ++i)
  37. {
  38. int current = *(ptr + (row_id*width) + i);
  39. *avg += current;
  40.  
  41. if(*max < current)
  42. {
  43. *max = current;
  44. }
  45. if(*min > current)
  46. {
  47. *min = current;
  48. }
  49. }
  50. *avg /= width;
  51.  
  52. printf("rzad: %d srednia: %f, max: %d, min: %d\n", row_id, *avg, *max, *min);
  53. return 1;
  54. }
  55.  
  56. int main() {
  57. printf("Podaj macierz:\n");
  58. int i = 5, j = 5;
  59. int tab[25] = { 0 };
  60. float avg = 0;
  61. int k; // iterator
  62.  
  63. for (k = 0; k<i*j; ++k)
  64. scanf("%d", &tab[k]);
  65.  
  66. int min = 0, max = 0;
  67.  
  68. for (k = 0; k<5; ++k) //k jest id analizowanego rzedu
  69. {
  70. avg = 0.0f;
  71. row_statistics(tab, j, i, k, &max, &min, &avg);
  72. }
  73.  
  74. for (k = 0; k<5; ++k) //k jest id analizowanej kolumny
  75. {
  76. avg = 0.0f;
  77. column_statistics(tab, j, i, k, &max, &min, &avg);
  78. }
  79. return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement