Note that there are some explanatory texts on larger screens.

plurals
  1. POC++ Splitting an array into 2 separate arrays
    primarykey
    data
    text
    <p>I need to write a program that takes a given array and then splits it into two separate arrays with one array's elements being the positive elements of the main array and the other's elements being the negative elements of the main array.</p> <p>After doing my best with the code, I got about a million lines of errors when trying to compile it. Is there a problem with how I am deleting the three dynamically allocated arrays? What huge error is preventing compiling? Here is my code:</p> <pre><code>#include &lt;iostream&gt; using namespace std; void count(int ARRAY[], int SIZE, int&amp; NEG, int&amp; POS); void split(int ARRAY[], int SIZE, int&amp; NEG_ARRAY, int NEG, int&amp; POS_ARRAY, int POS); void print_array(int ARRAY[], int SIZE); int main() { int SIZE(0); int* ARRAY; cout &lt;&lt; "Enter number of elements: "; cin &gt;&gt; SIZE ; ARRAY = new int[SIZE]; int x(0); int numEle(0); cout &lt;&lt; "Enter list: " &lt;&lt; endl; while (numEle &lt; SIZE) { ARRAY[numEle] = x; numEle++; cin &gt;&gt; x; } int POS(0), NEG(0); count(ARRAY, SIZE, NEG, POS); int* NEG_ARRAY; NEG_ARRAY = new int[NEG]; int* POS_ARRAY; POS_ARRAY = new int[POS]; split(ARRAY, SIZE, NEG_ARRAY, NEG, POS_ARRAY, POS); cout &lt;&lt; "Negative elements: " &lt;&lt; endl; cout &lt;&lt; print_array(NEG_ARRAY, NEG) &lt;&lt; endl; cout &lt;&lt; "Non-negative elements: " &lt;&lt; endl; cout &lt;&lt; print_array(POS_ARRAY, POS) &lt;&lt; endl; delete [] ARRAY; delete [] NEG_ARRAY; delete [] POS_ARRAY; return 0; } void count(int ARRAY[], int SIZE, int&amp; NEG, int&amp; POS) { for (int x=0; x &lt; SIZE; x++) { if (ARRAY[x] &gt;= 0) { POS = POS + 1; } if (ARRAY[x] &lt; 0) { NEG = NEG + 1; } } } void split(int ARRAY[], int SIZE, int&amp; NEG_ARRAY, int NEG, int&amp; POS_ARRAY, int POS) { NEG = POS = 0; for (int x = 0; x &lt; SIZE; x++) { if (ARRAY[x] &lt; 0) { NEG_ARRAY[NEG++] = ARRAY[x]; } else { POS_ARRAY[POS++] = ARRAY[x]; } } } void print_array(int ARRAY[], int SIZE) { for (int i = 0; i &lt; SIZE; i++) { cout &lt;&lt; ARRAY[i] &lt;&lt; " "; } cout &lt;&lt; endl; } </code></pre> <p>The code is supposed to read in the array and display a new negative and a new positive array. Thanks in advance!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload