elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error en comparacion de strings.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error en comparacion de strings.  (Leído 2,296 veces)
NicolasPileci

Desconectado Desconectado

Mensajes: 32



Ver Perfil
Error en comparacion de strings.
« en: 3 Junio 2017, 02:44 am »

Estimados,

Serian tan amables de indicarme por que este programa me indica que debe haber una coma, un punto y coma o un parentesis antes de la variable "cad1".

La idea del programa es verificar si una frase es palindromo, pero por favor, no respondan la resolución del mismo.

Gracias!

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define TAM 40
  5.  
  6. int verificarPalindromo (char[TAM] cad1, char[TAM] cad2);
  7.  
  8. int main()
  9. {
  10.    system ("color 0a");
  11.    char cad1[40],
  12.         cad2[40];
  13.    printf ("Ingrese la cadena: \n\n");
  14.    gets (cad1);
  15.    if (!verificarPalindromo (cad1, cad2))
  16.        puts ("La cadena es un palindromo");
  17.    else
  18.        puts ("La cadena no es un palindromo");
  19.    return 0;
  20. }
  21.  
  22. int verificarPalindromo (char[TAM] cad1, char[TAM] cad2)
  23. {
  24.    char *ini,
  25.         *fin;
  26.    ini = cad2;
  27.    fin = cad1;
  28.    while(*fin)
  29.    {
  30.        *ini = *fin;
  31.        fin++;
  32.    }
  33.    return strcmp (cad1, cad2);
  34. }
  35.  


« Última modificación: 3 Junio 2017, 03:35 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Error en comparacion de strings.
« Respuesta #1 en: 3 Junio 2017, 03:50 am »

el problema es que
Código
  1. char *ini,
  2. *fin;
  3. ///....
  4. while(*fin)
  5.  


pero cuanto vale fin?

allí solo contiene basura

lo que tienes que hacer es leer cuanto tiene el string de largo (strlen) y recorrer desde el final hasta el principio y desde el principio hasta el final, comparando ambos lados es decir
Código:
palabra = arepera

arepera
^_____^ -> a == a ->ok

arepera
 ^___^ -> r == r ->ok

arepera
  ^_^ -> e == e ->ok

arepera
  ^_^ -> e == e ->ok

arepera
   ^ -> puntero_1 >= puntero_2 -> fin -> es palidromo


Código:
atenta
^____^ -> a == a ->ok

atenta
 ^__^ -> t == t ->ok

atenta
  ^^ -> e != n -> fin -> no es palindromo



En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
NicolasPileci

Desconectado Desconectado

Mensajes: 32



Ver Perfil
Re: Error en comparacion de strings.
« Respuesta #2 en: 3 Junio 2017, 15:26 pm »

Muchas gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda comparación de strings
.NET (C#, VB.NET, ASP)
BlaineMonkey 2 2,880 Último mensaje 23 Febrero 2010, 10:29 am
por BlaineMonkey
syntax error, unexpected T_VARIABLE al concatenar Strings
PHP
NikNitro! 1 3,053 Último mensaje 29 Diciembre 2013, 14:22 pm
por EFEX
Comparación de strings que estan en arreglos.
Programación C/C++
nrmc17 2 1,930 Último mensaje 3 Diciembre 2015, 00:04 am
por nrmc17
Error:Estructura con strings
Programación C/C++
SkaTrumpet 2 2,196 Último mensaje 12 Mayo 2016, 14:52 pm
por AlbertoBSD
Problema con if de comparación de Strings
Java
Runforyourlife 2 1,726 Último mensaje 26 Noviembre 2016, 23:30 pm
por Runforyourlife
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines