Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Gaianigo Matteo, Marangon Fabio, Tibaldo Simone 4INF 17/10/2011 Gruppo 7
- #include <stdio.h>
- #include <stdlib.h>
- void permutazioni(char*,int,int,FILE *);
- void permutazioni(char *parola, int i, int lungh, FILE *anagrammi){
- int j;
- if (i != lungh){
- for (j = i; j <= lungh; j++){
- //Primo scambio
- char tmp;
- tmp = parola[i];
- parola[i] = parola[j];
- parola[j] = tmp;
- permutazioni(parola, i + 1, lungh, anagrammi);
- //Secondo scambio
- tmp = parola[i];
- parola[i] = parola[j];
- parola[j] = tmp;
- }
- } else {
- for (j = 0; j <= lungh; j++)
- {
- fprintf(anagrammi, "%c", parola[j]); //Stampa tutte le permutazioni sul file
- }
- fprintf(anagrammi, "\n");
- }
- }
- int main(){
- char parola[8]; //Stringa contenente la parola
- int i = 0;
- printf("Inserisci una parola (di massimo 8 caratteri minuscoli): ");
- scanf("%s", parola);
- while (parola[i] != '\0') i++;
- FILE *anagrammi;
- anagrammi = fopen("Output.txt", "w"); //Apre il file 'Output.txt' in modo da poterlo modificare
- permutazioni(parola, 0, i - 1, anagrammi); //Passo la stringa, un "contatore", la lunghezza della stringa e il file su cui verranno scritti gli anagrammi
- printf("\nAnagrammi Creati all'interno del file 'Output.txt'\n"); //Stringa creata
- return 0;
- }
Add Comment
Please, Sign In to add comment