Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. #include <malloc.h>
  5. #include <time.h>
  6.  
  7. void fillArray(int** arr, int n, int m);
  8. void showArray(int** arr, int n, int m);
  9. //void push_back(int**& arr, int n, int m);
  10. void removeColumn(int** arr, int n, int m);
  11.  
  12.  
  13.  
  14.  
  15. int main()
  16. {
  17. setlocale(0, "rus");
  18. srand(time(NULL));
  19. int i = 0, j = 0;
  20. const int n = 5, m = 7, o = 7, p = 7;
  21.  
  22.  
  23. int** A = (int**)malloc(n * sizeof(int*));
  24. if (A == NULL) exit(1);
  25. if (A)
  26. {
  27. for (i = 0; i < n; ++i)
  28. A[i] = (int*)malloc(m * sizeof(int));
  29. }
  30.  
  31.  
  32. int** B = (int**)malloc(o * sizeof(int*));
  33. if (B == NULL) exit(1);
  34. if (B)
  35. {
  36. for (i = 0; i < o; ++i)
  37. B[i] = (int*)malloc(p * sizeof(int));
  38. }
  39.  
  40.  
  41. printf("Массив А до изменений:\n");
  42. fillArray(A, n, m);
  43. showArray(A, n, m);
  44.  
  45. printf("\n");
  46.  
  47. printf("Массив B до изменений:\n");
  48. fillArray(B, o, p);
  49. showArray(B, o, p);
  50.  
  51.  
  52.  
  53. printf("Массив А после изменений:\n");
  54. for (int k = 0; k < m; ++k)
  55. removeColumn(A, n, m);
  56.  
  57. showArray(A, n, m);
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64. printf("Массив B после изменений:\n");
  65.  
  66. }
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76. void fillArray(int** arr, int n, int m)
  77. {
  78. srand(time(NULL));
  79. for (int i = 0; i < n; ++i)
  80. for (int j = 0; j < m; ++j)
  81. {
  82. arr[i][j] = 5 - rand() % 10;
  83. }
  84. }
  85.  
  86. void showArray(int** arr, int n, int m)
  87. {
  88. for (int i = 0; i < n; ++i)
  89. {
  90. for (int j = 0; j < m; ++j)
  91. {
  92. printf("%i\t", arr[i][j]);
  93. }
  94. printf("\n");
  95. }
  96. }
  97.  
  98. /*void push_back(int**& arr, int n, int m)
  99. {
  100. int** tempArray = (int**)malloc(n * sizeof(int*));
  101. if (tempArray == NULL) exit(1);
  102. if (tempArray)
  103. {
  104. for (int i = 0; i < n; ++i)
  105. tempArray[i] = (int*)malloc(m * sizeof(int));
  106. }
  107. for (int i = 0; i < n; ++i)
  108. for (int j = 0; j < m; ++j)
  109. if (tempArray[j])
  110. {
  111. tempArray[j][i] = arr[j][i];
  112. }
  113. for (int i = 0; i < n; ++i)
  114. for (int j = 0; j < m; ++j)
  115. if (tempArray[j])
  116. {
  117. arr[j][i] = tempArray[j][i];
  118. }
  119. }*/
  120.  
  121. void removeColumn(int** arr, int n, int m)
  122. {
  123. m--;
  124. int count = 0;
  125. for (int i = 0; i < m; ++i)
  126. {
  127. for (int k = 0; k < n; ++k)
  128. {
  129. if (arr[k][i] < 0)
  130. count++;
  131. }
  132. if (count >= 2)
  133. {
  134. while (int j = 0 < m)
  135. {
  136. arr[i][j] = arr[i][j + 1];
  137. j++;
  138. }
  139. arr[i] = (int*)realloc(*&arr[i], sizeof(double) * m);
  140. count = 0;
  141. }
  142. else count = 0;
  143. }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement