Ace school

with brainly

  • Get help from millions of students
  • Learn from experts with step-by-step explanations
  • Level-up by helping others

A community for students.

how can i rearrange an array so all the even numbers will have indices less than those for the odd numbers. This is in C. I have code for the rest of the program

Computer Science
I got my questions answered at brainly.com in under 10 minutes. Go to brainly.com now for free help!
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.

Join Brainly to access

this expert answer

SEE EXPERT ANSWER

To see the expert answer you'll need to create a free account at Brainly

does order matters?
no order does not matter
void rearrange(int a[]) {int i, b[SIZE]; for(i=0;i

Not the answer you are looking for?

Search for more explanations.

Ask your own question

Other answers:

thats what i have so far
you can create new array and check old array if it's even and put those numbers there :D and later put odd numbers
I am not sure if i know how to do that but i can try. if(a[i]%2) {b[i] = a[i];} //store odd values into new array else{} //I am not sure what to do with it if its even then. make another array?
no you need to index from 0, not to same position
and then increment when you add number http://pastebin.com/F8HT8rmT
oh!!! okay that makes sense now. thanks for the help thomas, i appreciate it
i think it's bad solution but it works :D
ha I am sure there are other ways to do it but hey it works for me!
You could sort the numbers by their modulus value: qsort( number % 2 ); Something like that.
Actually this problem is very easy. Declare another integer array with same length, and then copy even numbers first, then append remaining numbers (thee odd ones) in last of the second array. The code snippet to do this is shown below: int[] arrange(int a[], size) { int *b = new int[size]; int index = 0; // variable to track position in second array // copy even numbers first for (int i = 0; i < size; ++i) { if (a[i]%2 == 0) { b[index] = a[i]; ++b; } } // copy all odd numbers for (int i = 0; i < size; ++i) { if (a[i]%2 != 0) { b[index] = a[i]; ++b; } } // now return new array return b; } Hope this will help you. Happy programming.

Not the answer you are looking for?

Search for more explanations.

Ask your own question