Buenas tardes.
Recientemente me han asignado la creación de un programa en C.
Se trata de usar la frase "Dabale arroz a la zorra el abad", que es un palindromo, de modo que:
1) Se quitan los espacios de la frase
2) Se vuelve todo en mayusculas y en minusculas
3) Se ve si es capicua.
Esto es a lo que he llegado hasta ahora (Compilado en Xcode 3.0):
#include <stdio.h>
#include <string.h>
char *quitar_blancos(char *cad1);
int main()
{
char *cad1="Dabale arroz a la zorra el abad"; //longitud cadena 31 caracteres (+ \0)
printf("%s\n",cad1); // Como es la cadena originalmente
cad1=quitar_blancos(cad1);
strupr(cad1); //aqui me da error. Intento convertir la cadena todo en mayusculas
// A partir de aqui vería si es un palindromo, pero primero quiero ver como solucionar el problema anterior.
return 0;
}
char *quitar_blancos(char *cad1)
{
char *sucia; //nueva cadena para almacenar la frase sin espacios
int i=0,j=0;
while (cad1[i]!='\0')
{
if (cad1[i]!=' ')
{
sucia[j]=cad1[i];
j++;
}
i++;
}
sucia[j]='\0';
printf("%s pew\n",sucia); //Aqui se imprime y se ve la frase sin espacios, es decir que funciona
return sucia;
}
El error es:
"_strupr", referenced from:
_main in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Gracias de antemano por cualquier ayuda que puedan prestar ;)