Advertisement
VitorMDias

letras

Sep 1st, 2015
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5. #include <ctype.h>
  6.  
  7. #define MAX 17
  8. #define MAX_VETOR 1000
  9.  
  10. void aumenta(char * A )
  11. {
  12.     while(*A != '\0')
  13.     {
  14.         *A = toupper(*A);
  15.         A++;
  16.     }
  17.    
  18.    
  19. }
  20.  
  21. int comp(const void *P1, const void *P2){
  22.     char *A = (char *)P1, *B  = (char *)P2;
  23.     return strcmp(A, B);
  24. }
  25.  
  26. int main()
  27. {
  28.     int j , n , i, aux, Axu, Axu2, Y, Ini;
  29.     char zuera[26],palavra[MAX] , comb[MAX_VETOR][MAX];
  30.     scanf("%d" , &n);
  31.     while(n--)
  32.     {
  33.         scanf("%s" , palavra);
  34.         aumenta(palavra);
  35.        
  36.         for(i=0; i < 26; i++)
  37.             zuera[i] = 0;
  38.        
  39.         aux = strlen(palavra);
  40.        
  41.         for(i=0; i < aux && palavra[i] != '\0'; i++)
  42.             zuera[ palavra[i] - 'A' ] = 1;
  43.        
  44.         aux = 0;
  45.        
  46.         for(i=0; i < 26; i++)
  47.             if( zuera[i] == 1 )
  48.                 palavra[aux++] = i + 'A';
  49.         palavra[aux] = '\0';
  50.        
  51.         Axu = Axu2 = 0;
  52.         aux = strlen(palavra);
  53.        
  54.         //aqui é onde eu preciso embaralhar as letras
  55.         //pq la linha de baixo eu ja fiz o qsort pra ordenar ela
  56.         //é só a questão de formar as combinações
  57.         qsort( comb , Axu, sizeof(comb[0]), comp);
  58.        
  59.         for( i = 0; i < Axu; i++ ){
  60.             printf("%s ", comb[i]);
  61.         }
  62.        
  63.         printf("\n");
  64.        
  65.     }
  66.    
  67.    
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement