GDream

GDreamDicCreator.c

Feb 1st, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.85 KB | None | 0 0
  1. /*@GDreamHack*/
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<string.h>
  5. #include<math.h>
  6.  
  7. int r, a;
  8.  
  9. int potencia(int, int);
  10. void generarPermutacionSust(char [], char [], int, FILE *);
  11.  
  12. int potencia(int base, int exponente)
  13. {
  14.     int resultado = 1, i;
  15.     for(i = 0; i < exponente; i++)
  16.     {
  17.         resultado *= base;
  18.     }
  19.     return resultado;
  20. }
  21.  
  22. /* Permutaciones sin sustitución*/
  23.  
  24. void generarPermutacionSust(char elementos[], char actual[], int cantidad, FILE *archivo)
  25. {
  26.     int i;
  27.     char temp[81];
  28.  
  29.         if (cantidad == 0)
  30.     {
  31.         /* Imprime la secuencia generada*/
  32.         fprintf(archivo, "%s\n", actual);
  33.  
  34.         actual="";
  35.         r += 1;
  36.         printf("%d/%d\n", r, a);
  37.     }
  38.         else
  39.     {
  40.         for(i = 0; i<strlen(elementos); i++)
  41.         {
  42.             sprintf(temp, "%s%c", actual, elementos[i]);
  43.             generarPermutacionSust(elementos, temp, cantidad - 1, archivo);
  44.         }
  45.         }
  46. }
  47.  
  48. void main()
  49. {
  50.     FILE *archivo;
  51.     int cant=0;
  52.     char nombre[81];
  53.     char alfabeto[] = {"1234567890@&aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ .,-:;"};
  54.  
  55.     system("clear");
  56.     r=0;
  57.  
  58.     printf("Introduzca la cantidad de caracteres a permutar: ");
  59.     scanf("%d", &cant);
  60.  
  61.     a=potencia(strlen(alfabeto), cant);
  62.  
  63.     sprintf(nombre, "Diccionario de %d digitos.venom", cant);
  64.         archivo = fopen(nombre, "w+");
  65.  
  66.         if (archivo == NULL)
  67.         {
  68.                 printf("\nError al crear el fichero. \n\n");
  69.         fclose(archivo);
  70.         }
  71.         else
  72.         {
  73.         fclose(archivo);
  74.  
  75.         archivo=fopen(nombre, "a");
  76.         if(archivo==NULL)
  77.         {
  78.             printf("\nError al guardar datos en el Diccionario\n");
  79.             fclose(archivo);
  80.         }
  81.         else
  82.         {
  83.             printf("\n\nSe a comenzado a crear el Diccionario... Espere.\n");
  84.                 generarPermutacionSust(alfabeto, "", cant, archivo);
  85.             printf("\n\nEl diccionario se a creado correctamente..\n\n");
  86.         }
  87.         fclose(archivo);
  88.         }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment