Hola a todos!!! Soy nuevo en este foro y lo que mayormente me a impulsado a hacerme parte de el es la frustracion cuando no se porque el programa que e creado no funciona como querria. En este caso e creado este programa que lee dos palabras y comprueba si son o no anagramas. Todo va como la seda hasta que llega el momento donde la funcion equal_array devuelve true o false. Ayuda por favor. Frustraccion...
. Aqui os dejo el programa copiado tal y como lo tengo:
#include<stdio.h>
#include<stdbool.h>
#define N 26
bool equal_array(int counts1[N],int counts2[N])
{
int i,x=0;
printf("Contador final: ");
for(i=0;i<N;i++){
counts1
-=counts2;
printf("%d ",counts1);
}
printf("\n");
for(i=0;i<N;i++){
if(counts1!=0){
x++;}
}
printf("X: %d",x);
printf("\n");
if(x=0) return true;
if(x>0)return false;
}
int main(void)
{
char x;
int a[N],b[N];
int i,j;
printf("Escribe dos palabras y sabras si son anagramas on no\n");
//ARRAYS A CERO//
for(i=0;i<N;i++){
a=0;
b=0;
}
//LECTURA DE LA PRIMERA PALABRA//
printf("Escribe la primera palabra: ");
for(i=0;i<N;i++){
scanf("%c",&x);
if((x>='A')&&(x<='Z'))
a[x-65]++;
if((x>='a')&&(x<='z'))
a[x-97]++;
if(x=='\n') break;
}
//COMPROBACION LECTURA DE LA PRIMERA PALABRA//
printf("Contador de la primera palabra: ");
for(i=0;i<N;i++)
printf("%d ",a);
printf("\n");
read_word(a);
//LECTURA DE LA SEGUNDA PALABRA//
printf("Escribe la segunda palabra: ");
for(i=0;i<N;i++){
scanf("%c",&x);
if((x>='A')&&(x<='Z'))
b[x-65]++;
if((x>='a')&&(x<='z'))
b[x-97]++;
if(x=='\n') break;
}
//COMPROBACION LECTURA DE LA SEGUNDA PALABRA//
printf("Contador de la segunda palabra: ");
for(i=0;i<N;i++)
printf("%d ",b);
printf("\n");
//FINAL:COMPROBACION DE SI ES O NO ANAGRAMA//
printf("
if(equal_array(a,b)==true)
printf("Las palabras son anagramas\n");
else
printf("Las palabras no son anagramas\n");
}