Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

C++-Capicúa o palíndromo, Ejercicios de Estructuras de Datos y Algoritmos

Esta practica contiene un codigo realizado en C++.

Tipo: Ejercicios

2022/2023

Subido el 21/01/2024

erick-mata-vera
erick-mata-vera 🇲🇽

1 documento

1 / 3

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Práctica 6 Capicúa o palíndromo:
Descripción: El código determina si una cadena ingresada por el usuario es un
palíndromo o un número capicúa.
Pseudocódigo:
Algoritmo VerificarCapicuaPalindromo
Definir palabra, puntero, cont Como Cadena
Escribir "Ingresa una palabra o un número: "
Leer palabra
puntero <- palabra
cont <- 0
Para i <- 1 Hasta Longitud(palabra) Con Paso 1 Hacer
Si puntero[i] = puntero[Longitud(palabra) - i + 1] Entonces
cont <- cont + 1
FinSi
FinPara
Si cont = Longitud(palabra) Y EsNumero(palabra) Entonces
Escribir "Es un número capicúa."
Sino Si cont = Longitud(palabra) Entonces
Escribir "Es un palíndromo."
Sino
Escribir "No es ni un número capicúa ni un palíndromo."
FinSi
FinAlgoritmo
Funcion EsNumero(palabra Como Cadena) Como Logico
Definir cont Como Entero
cont <- 0
Para i <- 1 Hasta Longitud(palabra) Con Paso 1 Hacer
Si EsNumero(palabra[i]) = Verdadero O palabra[i] = " " Entonces
cont <- cont + 1
FinSi
FinPara
Si cont = Longitud(palabra) Entonces
Devolver Verdadero
Sino
Devolver Falso
FinSi
FinFuncion
pf3

Vista previa parcial del texto

¡Descarga C++-Capicúa o palíndromo y más Ejercicios en PDF de Estructuras de Datos y Algoritmos solo en Docsity!

Práctica 6 Capicúa o palíndromo:

Descripción: El código determina si una cadena ingresada por el usuario es un

palíndromo o un número capicúa.

Pseudocódigo:

Algoritmo VerificarCapicuaPalindromo Definir palabra, puntero, cont Como Cadena Escribir "Ingresa una palabra o un número: " Leer palabra puntero <- palabra cont <- 0 Para i <- 1 Hasta Longitud(palabra) Con Paso 1 Hacer Si puntero[i] = puntero[Longitud(palabra) - i + 1] Entonces cont <- cont + 1 FinSi FinPara Si cont = Longitud(palabra) Y EsNumero(palabra) Entonces Escribir "Es un número capicúa." Sino Si cont = Longitud(palabra) Entonces Escribir "Es un palíndromo." Sino Escribir "No es ni un número capicúa ni un palíndromo." FinSi FinAlgoritmo Funcion EsNumero(palabra Como Cadena) Como Logico Definir cont Como Entero cont <- 0 Para i <- 1 Hasta Longitud(palabra) Con Paso 1 Hacer Si EsNumero(palabra[i]) = Verdadero O palabra[i] = " " Entonces cont <- cont + 1 FinSi FinPara Si cont = Longitud(palabra) Entonces Devolver Verdadero Sino Devolver Falso FinSi FinFuncion

Codigo en C++:

#include #include using namespace std; bool number(string palabra) { int cont=0; for (int i = 0; i<palabra.length();i++) { if (isdigit(palabra[i]) == true || palabra[i]==' ') { cont++; } } if(cont==palabra.length()) return true; } int main() { string palabra; int cont = 0; string puntero; cout << "Ingresa una palabra o un numero: "; getline(cin, palabra,'\n'); puntero=&palabra; for (int i = 0; i < palabra.length(); i++) { if ((puntero)[i] == (*puntero)[palabra.length() - 1 - i]) { cont++; } } if (cont == palabra.length() && number(palabra)==true) { cout << "Es un numero capicua." << endl; } else if (cont == palabra.length()){ cout << "Es un palindromo." << endl; }else{ cout<<"No es ni un numero capicua ni una palindromo"; } return 0; }