Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2008, 08:17
athiria
 
Fecha de Ingreso: enero-2008
Mensajes: 22
Antigüedad: 17 años
Puntos: 0
Información ¿Porque falla este programa?

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 ;)