Advertisement
Guest User

dinam

a guest
Jan 21st, 2020
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<time.h>
  5.  
  6. #define N 7
  7. #define M 5
  8.  
  9. void unit_dynamic(int A[][M],int n);
  10. void print_dynamic(int A[][M], int n);
  11. void bubble_dynamic(int A[][M], int n);
  12. void bubble(int* A, int m);
  13. void swap(int* a, int* b);
  14. void transform(int A[][M], int n);
  15.  
  16.  
  17.  
  18. int main() {
  19. srand(time(NULL));
  20. int A[N][M];
  21. unit_dynamic(A, N);
  22. print_dynamic(A, N);
  23. bubble_dynamic(A, N);
  24. printf("After Bubble:\n");
  25. print_dynamic(A, N);
  26. transform(A, N);
  27.  
  28. }
  29.  
  30. void unit_dynamic(int A[][M], int n) {
  31. for (int i = 0; i < n; i++) {
  32. for (int j = 0; j < M; j++) {
  33. A[i][j] = rand() % 101;
  34. }
  35. }
  36. }
  37. void print_dynamic(int A[][M], int n) {
  38. for (int i = 0; i < n; i++) {
  39. for (int j = 0; j < M; j++) {
  40. printf("%4d", A[i][j]);
  41. }
  42. printf("\n");
  43. }
  44. printf("\n");
  45. }
  46. void bubble_dynamic(int A[][M], int n) {
  47. for (int i = 0; i < n; i++) {
  48. bubble(A[i], M);
  49. }
  50. }
  51. void bubble(int* A, int m) {
  52. for (int i = 0; i < m - 1; i++) {
  53. for (int j = 0; j < m - 1 - i; j++) {
  54. if (A[j] > A[j + 1]) {
  55. swap(&A[j], &A[j + 1]);
  56. }
  57. }
  58. }
  59. }
  60. void swap(int* a, int* b) {
  61. int temp = *a;
  62. *a = *b;
  63. *b = temp;
  64. }
  65. void transform(int A[][M], int n) {
  66. int B[N];
  67. int min = 10000, t = 0, min_in, p = 0;
  68. for (int i = 0; i < N; i++) {
  69. B[i] = 0;
  70. }
  71. for (int t = 0; t < N * M; t++) {
  72. for (int i = 0; i < (n - p); i++) {
  73. while (B[i] == M) {
  74. i++;
  75. if (i == n) {
  76. p++;
  77. i = 0;
  78. }
  79. }
  80. if (A[i][B[i]] < min) {
  81. min = A[i][B[i]];
  82. min_in = i;
  83. }
  84. }
  85. printf("%4d", min);
  86. min = 1000;
  87. B[min_in]++;
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement