C/Visual C - bachiller

 
Vista:

bachiller

Publicado por Rusmely (3 intervenciones) el 31/05/2003 15:42:08
Necesito un programa en C donde se introduzca cualquier palabra y muestre si èsta es palìndromo ( si se lee igual de derecha a izquierda). y por favor me explican còmo funciona
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Programa para verificar palíndromos en C

Publicado por Alejandro (1286 intervenciones) el 01/07/2025 20:02:12

Código:



Aquí tienes un programa en C que verifica si una palabra es un palíndromo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define MAX 100 // Definimos un tamaño máximo para la palabra
 
int esPalindromo(char palabra[]) {
    int longitud = strlen(palabra);
    int i, j;
 
    // Comparamos los caracteres desde el inicio y el final
    for (i = 0, j = longitud - 1; i < j; i++, j--) {
        // Convertimos a minúsculas para ignorar mayúsculas/minúsculas
        if (tolower(palabra[i]) != tolower(palabra[j])) {
            return 0; // No es un palíndromo
        }
    }
    return 1; // Es un palíndromo
}
 
int main() {
    char palabra[MAX];
 
    // Solicitar al usuario que ingrese una palabra
    printf("Ingrese una palabra: ");
    scanf("%s", palabra);
 
    // Verificar si la palabra es un palíndromo
    if (esPalindromo(palabra)) {
        printf("La palabra '%s' es un palíndromo.\n", palabra);
    } else {
        printf("La palabra '%s' no es un palíndromo.\n", palabra);
    }
 
    return 0;
}

Explicación del código:



1. Inclusión de bibliotecas:
- `#include <stdio.h>`: Para funciones de entrada y salida, como `printf` y `scanf`.
- `#include <string.h>`: Para funciones de manipulación de cadenas, como `strlen`.
- `#include <ctype.h>`: Para funciones de manipulación de caracteres, como `tolower`.

2. Definición de constantes:
- `#define MAX 100`: Define un tamaño máximo para la palabra que se va a ingresar.

3. Función `esPalindromo`:
- Esta función toma una cadena (`palabra`) como argumento y devuelve `1` si es un palíndromo y `0` si no lo es.
- Se calcula la longitud de la palabra usando `strlen`.
- Se utilizan dos índices: `i` comienza desde el inicio de la cadena y `j` desde el final.
- Se compara el carácter en la posición `i` con el carácter en la posición `j`. Si son diferentes, la función devuelve `0` (no es un palíndromo).
- Se utiliza `tolower` para convertir ambos caracteres a minúsculas, lo que permite ignorar las diferencias entre mayúsculas y minúsculas.
- Si se completan todas las comparaciones sin encontrar diferencias, la función devuelve `1` (es un palíndromo).

4. Función `main`:
- Se declara un arreglo de caracteres (`palabra`) para almacenar la entrada del usuario.
- Se solicita al usuario que ingrese una palabra.
- Se llama a la función `esPalindromo` para verificar si la palabra es un palíndromo y se imprime el resultado.

Ejemplo de ejecución:



- Si el usuario ingresa "radar", el programa imprimirá: "La palabra 'radar' es un palíndromo."
- Si el usuario ingresa "hola", el programa imprimirá: "La palabra 'hola' no es un palíndromo."

Rusmely, este programa es simple y efectivo para verificar si una palabra es un palíndromo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar