View Single Post
  #1 (permalink)  
Old 04-06-2008, 09:59 PM
daigre7 daigre7 is offline
Member
 
Join Date: Apr 2008
Posts: 2
daigre7 is on a distinguished road
HELP: Trouble with partial filled arrays
For HW, I have to write a deleteRepeats static method for an array of characters that deletes any character previously listed and returns the new array size. The example the problem gives is:

char a[10];
a[0]='a';
a[1]='b';
a[2]='a';
a[3]='c';
int size = 4;
size = deleteRepeats(a, size);

The problem then says after the code is executed, a[0] should be 'a', a[1] should be 'b', a[2] should be 'c' and size is 3. I read the section in my book on partially filled arrays, but I still can't get this method to work properly. Here is my code:

public static int deleteRepeats(char[] a, int size) {

size=a.length;
int numberOfRepeats=0;

for(int i=0; i<size; i++) {
for(int j=1; i+j<size; j++) {
if(a[i]==a[i+j]) {
a[i+j]=a[(i+j)+1];
size--;
numberOfRepeats++;

}
}
}
return size;
}

With that code, when I put in the test array [aabcd], it returns 3, when it should be 4 and it changes the array to [abccd]. I'm sure there's numerous problems with my code. Any help is greatly appreciated.
Reply With Quote
Sponsored Links