![]() |
| ||
| deleting duplicates in array hi guys...... i have a problem in writing a program of "how to delete the duplicate elements in an array" for example....if i enter an array like: 10 20 30 40 30 then it should print: 10 20 30 40 so could plz help me out????? :cry: i have attempted little though....but don't know how can i go ahead.... #include<stdio.h> #include<conio.h> int main(void) { int a[5],i,j; clrscr(); printf("ENTER ARRAY ELEMENTS:"); for(i=0;i<5;i++) scanf("%d",&a[i]); fflush(stdin); for(i=0;i<5;i++) { for(j=i;j<4;j++) { //i don't know now where do i go....from here on.....how to find the element which is repeating that is the duplicate and then how to delete that..... so plz help me out...... |
| ||
| Re: deleting duplicates in array could any 1 reply plz............ |
| ||
| Re: deleting duplicates in array >could any 1 reply plz............ I was going to help you, until I saw that you bumped your thread before 30 minutes had passed. That's incredibly rude. Try this: [Useful suggestion removed because you don't deserve it. Figure the solution out on your own] |
| ||
| Re: deleting duplicates in array im really sorry but im new to this site so don't know how exactly it works...but anyways.....i don't know how to go from here on.....i did'nt understand what exactly were u trying to say...... |
| ||
| Re: deleting duplicates in array i have been online here for 2 hrs..almost and didn't get any reply from any1/../so i was checking on some other threads of this site....as im new to this site...so plz don't take it otherwise...and help me out.......plz with this problem...... |
| ||
| Re: deleting duplicates in array So you want to see if any of a[]'s values duplicate any OTHER of a[]'s values? You've got a start there with the two loops, so how about something like: for each element (that's a[i] in the first loop, say) look through every OTHER element in the array to see if it matches; in your code fragment that would be the 'for j' loop. Something like (and I am paraphrasing, not writing compilable code here): for i 0..5 for j 0..5 if i is not j, then if a[i] equals a[j] you have a match between the elements at i and j! The next part is to figure out how to remove that duplicate. One simple approach is to copy the non-dups down over the dup (so if 3 is the dup, set [3] = [4] and [4] = [5]). Another approach is to have a separate array of non-duplicate values, like this: (from the above loops, just below the close of the for j loop) if not a duplicate, then copy a[i] over to nonDuplicates[countOfNonDuplicates] and increment the countOfNonDuplicates. |
| ||
| Re: deleting duplicates in array hi guys...... i have a problem in writing a program of "how to delete the duplicate elements in an array" for example....if i enter an array like: 10 20 30 40 30 then it should print: 10 20 30 40 so could plz help me out????? i have attempted little though....but don't know how can i go ahead.... #include<stdio.h> #include<conio.h> int main(void) { int a[5],i,j; clrscr(); printf("ENTER ARRAY ELEMENTS:"); for(i=0;i<5;i++) scanf("%d",&a[i]); fflush(stdin); for(i=0;i<5;i++) { for(j=i;j<4;j++) { //i don't know now where do i go....from here on.....how to find the element which is repeating that is the duplicate and then how to delete that..... so plz help me out...... |
| ||
| Re: deleting duplicates in array for finding out the duplicates here...first...i have done like : for(i=0;i<5;i++) { for(j=0;j<5;j++) { if(a[i]==a[j]) printf("duplicate element exists:"); else printf("duplicate elements does not exist:"); } } but when i run this it doesnot run properly and gives some weird output....so what do i do now? |
| ||
| Re: deleting duplicates in array help me out guys plzzz!!!!!!! im waiting for ur reply....any kind of help would be highly appreciable....... |
| ||
| Re: deleting duplicates in array You don't say what kind of 'weird output' you get, but I imagine it always finds duplicates, because there will always be an a[i] == a[j] unless you say "if ((i !=j) && (a[i] == a[j]))" By the way, I tend to look at this site once or twice a day, and I imagine others do as well, so waiting 36 minutes for a reply and then being impatient with us is expecting a lot. Remember, we do this for fun and not for money! |
| All times are GMT -4. The time now is 8:26 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC