the program runs, but it does not accomplish the duplicate-delete in the array. for example, if the array is 4 and someone enters "bill", it should output "bil". can anyone figure out what's wrong?
Code:#include<iostream> using namespace std; void delete_repeats(char a[], int& index_used); void erase_and_shift(char a[], int& index_used, int& arraysize); int main () { int index_used = 0; int arraysize = 0; char a[100]; cout<<"Please enter the size that you would like of an array from 0-100 : \n"; cin >>arraysize; cout<<"Now enter "<< arraysize<<" characters :\n"; int k= 0; while (k<arraysize) { cin>> a[k]; k++; } delete_repeats(a, index_used); cout <<"The numbers you entered are: "; for (int index = 0; index < arraysize; index++) { cout << a[index]; } cout << endl; return 0; } void delete_repeats(char a[], int& index_used) { int i, j; for(i = 0; i < index_used - 1; i++) for(j = index_used - 1; j > i; j--) if(a[j] == a[i]) { erase_and_shift(a, j, index_used); } } void erase_and_shift(char a[], int& index_used, int& arraysize) { //int k = index_used int k = arraysize; //while k < arraysize increments of k by +1 while (k < index_used -1) { k++; } //array of k = array of k +1 increment of -1 a[k]= a[k+1]; index_used --; }



LinkBack URL
About LinkBacks


