Advertisement
ibragimova_mariam

insert before

Nov 25th, 2018
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4. #include <limits.h>
  5.  
  6. using namespace std;
  7.  
  8. void inputArray(int ***a, int n, int m) {
  9. int **b = new int*[2 * n];
  10.  
  11. for (int i = 0; i < n; i++) {
  12. b[i] = new int[m];
  13. for(int j = 0; j < m; j++) {
  14. cin >> b[i][j];
  15. }
  16. }
  17. *a = b;
  18. }
  19.  
  20. void inputArrayToInsert(int **b, int n) {
  21. *b = new int[n];
  22. for (int i = 0; i < n; i++)
  23. cin >> (*b)[i];
  24. }
  25.  
  26. void print(int **a, int n, int m) {
  27. for (int i = 0; i < n; i++) {
  28. for(int j = 0; j < m; j++)
  29. cout << a[i][j] << " ";
  30. cout << endl;
  31. }
  32. }
  33.  
  34. void insert(int **a, int *b, int &n, int m, int x) {
  35. for (int i = 0; i < n; i++) {
  36. for(int j = 0; j < m; j++) {
  37. if (a[i][j] == x) {
  38. for (int k = n; k > i; k--) {
  39. a[k] = a[k - 1];
  40. }
  41.  
  42. a[i] = new int[m];
  43. for(int k = 0; k < m; k++)
  44. a[i][k] = b[k];
  45.  
  46. i++;
  47. n++;
  48. break;
  49. }
  50. };
  51. }
  52. }
  53.  
  54. void delete1dem(int **a, int n) {
  55. delete [](*a);
  56. }
  57.  
  58. void delete2dem(int ***a, int n) {
  59. for(int i = 0; i < n; i++) {
  60. delete [](*a)[i];
  61. }
  62. delete [](*a);
  63. }
  64.  
  65. int main() {
  66.  
  67. int n, m, x;
  68. cin >> n >> m >> x;
  69.  
  70. int **a, *b;
  71.  
  72. inputArray(&a, n, m);
  73. inputArrayToInsert(&b, m);
  74.  
  75. insert(a, b, n, m, x);
  76.  
  77. print(a, n, m);
  78.  
  79. delete1dem(&b, n); //one-dimensional
  80. delete2dem(&a, n);
  81.  
  82. return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement