Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #define MAX 100
- void inputlist(char[][80], int);
- void sortlist(char[][80], int);
- void display (char[][80], int);
- void removeDuplicate(char [][80], int*);
- main(){
- char list[MAX][80];
- int size = 7;
- inputlist(list, size);
- display(list, size);
- removeDuplicate(list, &size);
- display(list, size);
- }
- void inputlist(char list[][80], int n){
- int i = 0;
- for(i=0; i<n; i++){
- scanf("%s",list[i]);
- }
- printf("-------------------------\n");
- }
- void sortlist(char list[][80], int size){
- int i = 0, j = 0;
- char tmp[80];
- for(i=0; i<size; i++){
- for(j=i+1; j<size; j++){
- if (strcmp(list[i], list[j])>0){
- strcpy(tmp, list[i]);
- strcpy(list[i], list[j]);
- strcpy(list[j], tmp);
- }
- }
- }
- }
- void display(char list[][80], int n){
- printf("Display:\n");
- int i = 0;
- for(i=0; i<n; i++){
- printf("%s\n", list[i]);
- }
- printf("-----------------------\n");
- }
- void removeDuplicate(char list[][80], int*n){
- sortlist(list,*n);
- char d[MAX][80];
- int index = 0;
- int size = 0 ;
- while(index < *n){
- memcpy(d[size++],list[index++], sizeof(d[0]));
- while (strcmp(list[index], list[index-1]) == 0){
- index++;
- }
- }
- //display(d, size); // test before copy
- memcpy(list, d, sizeof(d[0])*size);
- *n = size;
- }
Advertisement
Add Comment
Please, Sign In to add comment