Guest User

Untitled

a guest
Jan 24th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.43 KB | None | 0 0
  1. // Gaianigo Matteo, Marangon Fabio, Tibaldo Simone      4INF        17/10/2011      Gruppo 7
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. void permutazioni(char*,int,int,FILE *);
  6. void permutazioni(char *parola, int i, int lungh, FILE *anagrammi){
  7.     int j;
  8.     if (i != lungh){
  9.         for (j = i; j <= lungh; j++){
  10.             //Primo scambio
  11.             char tmp;
  12.             tmp = parola[i];
  13.             parola[i] = parola[j];
  14.             parola[j] = tmp;
  15.            
  16.             permutazioni(parola, i + 1, lungh, anagrammi);
  17.  
  18.             //Secondo scambio
  19.             tmp = parola[i];
  20.             parola[i] = parola[j];
  21.             parola[j] = tmp;
  22.         }
  23.     } else {
  24.         for (j = 0; j <= lungh; j++)
  25.     {
  26.             fprintf(anagrammi, "%c", parola[j]); //Stampa tutte le permutazioni sul file
  27.         }
  28.         fprintf(anagrammi, "\n");
  29.     }
  30. }
  31.  
  32. int main(){
  33.     char parola[8]; //Stringa contenente la parola
  34.     int i = 0;
  35.     printf("Inserisci una parola (di massimo 8 caratteri minuscoli): ");
  36.     scanf("%s", parola);
  37.     while (parola[i] != '\0') i++;
  38.     FILE *anagrammi;
  39.     anagrammi = fopen("Output.txt", "w"); //Apre il file 'Output.txt' in modo da poterlo modificare
  40.     permutazioni(parola, 0, i - 1, anagrammi); //Passo la stringa, un "contatore", la lunghezza della stringa e il file su cui verranno scritti gli anagrammi
  41.     printf("\nAnagrammi Creati all'interno del file 'Output.txt'\n"); //Stringa creata
  42.     return 0;
  43. }
Add Comment
Please, Sign In to add comment