ragazzi siete mitici.. grazie infinite. Oggi ho finito il mio dato ke mi era venuto un colpo di genio, ma vedrò anke i vostri nn vi preoccupate, grazie ankora e scusate se vi ho fatto perdere tempo.. vi posto il mio

codice:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>

#define mx	10		   // dimensione massima della parola
#define dim	256		// dimensione dell'alfabeto

/*
	genera la statistica dei caratteri di stringa[] (frequenza) in freq[] e
   restituisce la lunghezza della stringa
*/

int fact(char stringa[], int freq[])
{
	int l;
   
	for(int i=0; i<dim; i++)	 // azzera le frequenze
		freq[i]=0;
	for(l=0; stringa[l]!='\0'; l++)   // conta le occorrenze dei car. in stringa[]
		freq[stringa[l]]++;
	return l;					    // l e' la lunghezza di stringa[]
}

/*
	aggiunge un carattere in posizione n nell'anagramma a prelevandolo
	dal pool di caratteri disponibili descritto da freq[]
*/

void calcola(int freq[], char anagramma[], int lung, int n, int &x)
{
	int c;

	if(n<lung)                             // altri caratteri da aggiungere?
   {
		for(c=0; c<dim; c++)                // controlla tutti i caratteri
      {
			if(freq[c]>0)                    // il carattere e' disponibile?
      	{
				anagramma[n]=c;				   // lo appendo all'anagramma
				freq[c]--;
				calcola(freq, anagramma, lung, n+1, x);  // prova ad aggiungere un altro carattere
				freq[c]++;
         }
      }
   }
   else
   {                                 		// anagramma trovato
   	anagramma[n]='\0';             		// aggiungi terminatore di stringa
   	printf(anagramma);
      printf("%c",179);
      x=x+lung+1;                         // stampa l'anagramma
      if (x>55)
      {
      	cout<<"\n";
         x=0;
      }
   }
}

void main()
{
	int  x, len;
	char parola[mx];	                     // parola iniziale
	char anagramma[mx];                    // anagramma
	int  frequenza[dim];	                  // vettore di occorrenze

	printf("Anagrammi.\n");
	printf("Introduci una parola: ");
	gets(parola);
   len=fact(parola, frequenza);	          // calcola la freq. dei simboli dell'alfabeto
	printf("Anagrammi possibili: \n\n");
   x=0;                                    // parte grafica [quel minimo ke c'e!]
	calcola(frequenza, anagramma, len, 0, x);  // stampa tutti gli anagrammi
   getchar();
}