Advertisement
avr39ripe

cppArrDelBadElementEffective

Mar 19th, 2022
1,032
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <chrono>
  3.  
  4. int main()
  5. {
  6.     const int arrSize{ 10 };
  7.     //int arr[arrSize]{ 4,7,2,7,9,0,6,4,7,2 };
  8.     //int arr[arrSize]{ 4,1,2,7,9,0,6,4,7,2 }; // 4, 2, 7, 9, 0, 6, 4, 7, 2, 2
  9.     //int arr[arrSize]{ 1,4,1,1,4,1,1,5,1,3 };
  10.     int arr[arrSize]{ 1,1,1,1,1,1,1,1,1,1 };
  11.  
  12.     int resSize{ 0 };
  13.     int badNumber{ 1 }; //what we remove from array
  14.  
  15.     int begin{ 0 };
  16.     int end{ arrSize };
  17.  
  18.     int insPos{ 0 };
  19.  
  20.     for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  21.  
  22.     for (; arr[insPos] != badNumber and insPos < arrSize; ++insPos, ++resSize);
  23.    
  24.     std::cout << "insPos = " << insPos << '\n';
  25.  
  26.     if (insPos != end)
  27.     {
  28.         std::cout << "There are some bad elements\n";
  29.         for (begin = insPos + 1; begin < end; ++begin)
  30.         {
  31.             if (arr[begin] != badNumber)
  32.             {
  33.                 arr[insPos] = arr[begin];
  34.                 ++insPos;
  35.                 ++resSize;
  36.             }
  37.         }
  38.     }
  39.     else
  40.     {
  41.         std::cout << "All elements are good!\n";
  42.     }    
  43.     for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  44.     for (int i{ 0 }; i < resSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  45.     return 0;    
  46. }
  47.  
  48. //int main()
  49. //{
  50. //    const int arrSize{ 10 };
  51. //    //int arr[arrSize]{ 4,1,2,7,9,0,6,4,7,2 }; // 4, 2, 7, 9, 0, 6, 4, 7, 2, 2
  52. //    int arr[arrSize]{ 1,4,1,1,4,1,1,5,1,3 };
  53. //    //int arr[arrSize]{ 1,1,1,1,1,1,1,1,1,1 };
  54. //    int res[arrSize]{};
  55. //    int resSize{ 0 };
  56. //    int badNumber{ 1 }; //what we remove from array
  57. //
  58. //    //for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  59. //
  60. //    for (int i{ 0 }; i < arrSize; ++i)
  61. //    {
  62. //        if (arr[i] != badNumber)
  63. //        {
  64. //            res[resSize++] = arr[i];
  65. //        }
  66. //    }
  67. //
  68. //    for (int i{ 0 }; i < arrSize; ++i) { std::cout << res[i] << ' '; } std::cout << '\n';
  69. //    for (int i{ 0 }; i < resSize; ++i) { std::cout << res[i] << ' '; } std::cout << '\n';
  70. //    return 0;
  71. //}
  72.  
  73.  
  74. //int main()
  75. //{
  76. //    const int arrSize{ 10 };
  77. //    //int arr[arrSize]{ 4,1,2,7,9,0,6,4,7,2 }; // 4, 2, 7, 9, 0, 6, 4, 7, 2, 2
  78. //    int arr[arrSize]{ 1,4,1,1,4,1,1,5,1,3 };
  79. //    int resSize{arrSize};
  80. //    int badNumber{ 1 }; //what we remove from array
  81. //
  82. //    for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  83. //
  84. //    for (int i{ 0 }; i < arrSize; )
  85. //    {
  86. //        if (arr[i] == badNumber)
  87. //        {
  88. //            for (int shiftIdx{ i+1 }; shiftIdx < arrSize; ++shiftIdx)
  89. //            {
  90. //                arr[shiftIdx - 1] = arr[shiftIdx];
  91. //            }
  92. //            --resSize;
  93. //        }
  94. //        else
  95. //        {
  96. //           /* ++resSize;*/
  97. //            ++i;
  98. //        }
  99. //    }
  100. //
  101. //    for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  102. //    for (int i{ 0 }; i < resSize; ++i) { std::cout << arr[i] << ' '; } std::cout << '\n';
  103. //    return 0;
  104. //}
  105.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement