Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdio.h>
- #include<string.h>
- #include<ctype.h>
- using namespace std;
- int wordcompare(char*a, char*b)
- {
- int i,j;
- for(i=0; a[i]!='\0';i++)
- if(isupper(a[0])) a[0]=tolower(a[0]);
- if(!isalpha(a[i-1])) {a[i-1]='\0'; i--;}
- for(j=0; b[j]!='\0';j++)
- if(isupper(b[0])) b[0]=tolower(b[0]);
- if(!isalpha(b[j-1])) {b[j-1]='\0'; j--;}
- int k=0;
- while(a[k]==b[k]&&a[k]!='\0'&&b[k]!='\0')
- { k++;
- //printf("%c %c\n", a[k], b[k]);
- }
- if(a[k]>b[k]) return -1;
- else if(a[k]<b[k]) return 1;
- else if(a[k]==b[k]) return 0;
- else return 0;
- }
- void swap(char*a, char*b)
- {
- char p[80];
- /* int i;
- for(i=0; *(a+i-1)!='\0'; i++)
- {p[i]=*(a+i); printf("%c %c %d\n", a[i], p[i], i);}
- for(i=0; *(b+i-1)!='\0';i++)
- {*(a+i)=*(b+i); printf("%c %c %d\n", b[i], a[i], i);}
- for(i=0; p[i-1]!='\0';i++)
- {*(b+i)=p[i]; printf("%c %c %d\n", p[i], b[i], i);}
- */
- strcpy(p,a);
- strcpy(a,b);
- strcpy(b,p);
- }
- int N;
- char words[800000][80];
- int main()
- {
- scanf("%ld",&N);
- char p[10000][80];
- for(int i=0;i<N;i++)
- { //printf("%d", i);
- gets(p[i]);
- //puts(p[i]);
- }
- int k=0, l=0;
- for(int i=0;i<N;i++)
- {
- for(int j=0;p[i][j]!='\0';j++)
- {
- words[k][l]=p[i][j];
- l++;
- if(p[i][j]==' '||p[i][j]=='\0')
- {words[k][l]='\0';l=0;k++;}
- }
- words[k][l]='\0';l=0;k++;
- }
- for(int i=0;i<k;i++)
- puts(words[i]);
- for(int i=0;i<k;i++)
- {
- for(int j=i+1;j<k;j++)
- {
- if(wordcompare(words[i],words[j])==-1)
- swap(words[i], words[j]);
- }
- }
- int c=k;
- for(int i=0;i<k-1;i++)
- if(!strcmp(words[i],words[i+1]))
- {strcpy(words[i],"0"); c--;}
- printf("%d\n", c);
- for(int i=0;i<k;i++)
- { if(strcmp(words[i],"0")) puts(words[i]); }
- /*
- char a[10],b[10];
- gets(a); gets(b);
- puts(a); puts(b);
- printf("%d", wordcompare(a,b));
- swap(a,b);
- puts(a); puts(b);
- printf("\nKukuku!");
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement