Ver Mensaje Individual
  #9 (permalink)  
Antiguo 09/04/2010, 08:53
odin921
 
Fecha de Ingreso: febrero-2007
Mensajes: 14
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Error en compilación que no se solucionar!!

Me estas siendo de mucha ayuda, aguirremanuel ;)

He cambiado el código añadiendo la función para que calcule el tamaño de la cadena, y he modificado los bucles, y ahora creo que si tienen sentido.

El código ha quedado así:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6. #define TAM 40
  7.  
  8.    int calcula_longitud (char []);
  9.  
  10.    int palindromo(char[],int);
  11.  
  12.  
  13.     void main (void){
  14.       int res_palind,tam_cadena;
  15.       char cad[TAM];
  16.    
  17.       printf("\nIntroduce la cadena\n");
  18.       scanf("%s",cad);
  19.    
  20.       tam_cadena=calcula_longitud(cad);
  21.       res_palind=palindromo(cad,tam_cadena);
  22.    
  23.       if(res_palind==0) printf ("La cadena '%s' es un palindromo",&cad);
  24.       else printf ("La cadena '%s' NO es un palindromo",&cad);
  25.    
  26.    
  27.    
  28.    }
  29.  
  30.  
  31.  
  32.     int calcula_longitud (char a[]){
  33.    
  34.       int i=0;
  35.       while (a[i]) i++;
  36.    
  37.       return i;
  38.    
  39.    
  40.    }
  41.  
  42.  
  43.     int palindromo(char cad[],int tam_cadena){
  44.    
  45.       int i=0,j,k;
  46.    
  47.       printf ("\n%d\n",tam_cadena);
  48.    
  49.       while (cad[i]){
  50.      
  51.          for(j=0;j<tam_cadena/2;j++){
  52.             for(k=tam_cadena/2;k>=tam_cadena;k++){
  53.            
  54.                return (cad[j]-cad[k]);
  55.            
  56.             }
  57.          }
  58.          i++;
  59.       }
  60.    
  61.    }

Sigue sin funcionar (si compila), y creo que el error puede estar en la linea 23...sino, no se donde!!

Un saludo y gracias!