When debugging, I found that segmentation fault caused after copy from temp array (b) to original array (a), I don't know how to solve this, can you guys help me on that?
#include <iostream>
using namespace std;
int main() {
int n;
cout << "n = ";
cin >> n;
int *a = new int[n];
for (int i = 0; i < n; i++)
cin >> a[i];
cout << "\nNumber to remove: ";
int k;
cin >> k;
for (int i = 0; i < n; i++)
{
while (a[i] == k && i < n - 1)
{
int *b = new int[n]{0};
for (int j = 0; j < i; j++)
b[j] = a[j];
for (int j = i + 1; j < n; j++)
b[j - 1] = a[j];
a = NULL;
delete a;
n--;
int *a = new int[n];
for (int j = 0; j < n; j++)
a[j] = b[j];
}
}
cout << "Result: ";
for (int i = 0; i < n; i++)
cout << a[i] << " ";
}