#include <stdio.h>

#define NL 26 //26 letras posibles
#define M 40 //máximo 40 caracteres en una cadena
#define TRUE	1
#define FALSE	0

typedef char t_vcar[M];
typedef int t_vcont[NL];

void main(){
	t_vcar cad[2]; //cad[0] almacenará la cadena1 y cad[1] la cadena 2
	int l[2]; // long the cad[0] y cad[1]
	t_vcont contc[2] = {0}; // Esto inicializa toda la matriz a 0
	int i, j, anagrama=TRUE;

	printf ("Introdueix les dues cadenes: \n");
	for (i=0; i<2; i++){
		printf ("Cadena%d: ", i+1);
		j=0;
		do {
			scanf ("%c", &cad[i][j]);
			if(cad[i][j]>='A' && cad[i][j]<='Z'){
				cad[i][j]=cad[i][j]-'A'+'a';
			}
			contc[i][cad[i][j]-'a']++;
			j++;
		} while (cad[i][j-1] != '\n'); // j-1 en lugar de j
		l[i] = j-1;
	}
	if (l[0]!=l[1]) {
			anagrama=FALSE;
	} else {
		for (i=0; i<NL; i++){
			if (contc[0][i]!=contc[1][i]){
				anagrama=FALSE;
			}
		}
	}
	for (i=0; i<2; i++){
		for(j=0; j<l[i]; j++){
			printf ("%c", cad[i][j]);
		}
		if (i == 0) printf (" i ");
	}
	if(anagrama){
		printf (" són anagrames.\n");
	} else {
		printf (" no són anagrames. \n");
	}
}

