Per rimanere in linea con quello che ha scritto ar186
bbb (stringa 1) ao(stringa 2).
propongo questa modifica:
codice:
for ( k = 0; k < 256; k++ )
{
   if ( a[k] > 1 )
   {	
      while (a[k] > 0) {
         str1[x++] = k;
         a[k]--;
      }
   }
   else if ( a[k] == 1 ) 
      str2[y++] = k;
}
Ma rimaniamo sempre nell'ipotesi che la posizione iniziale delle lettere non abbia importanza, altrimenti bisogna pensare diversamente..