Professional Documents
Culture Documents
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace palindrome
{
class palindrome
{
static void Main(string[] args)
{
//Aqui empieza el programa
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace palindrome
{
class Program
{
//variables para derterminar si la palabra es palindrome o no
//son constantes, porque la funcion verificar es de tipo entero
// y retornara un 0 o 1 respectivamente.
const int palindrome = 1;
const int nopalindrome = 0;
static void Main(string[] args)
{
//este es un arreglo de tipo char, que contendra la letra a
introducir
char[] carateres;
//pedimos al usuario que introduzca una palabra
Console.WriteLine("Ingrese una palabra: ");
//asignamos lo que teclea el usuario a la variable "s"
string s = Console.ReadLine();
//instanceamos la var "caracteres" indicando el tamao de el arreglo
//que en este caso es el tamao de la palabra introducida.
carateres = new char[s.Length];
//saber cuantos caracteres tienes nuestra cadena
//esto lo hacemos copiando los caracteres de una subcadena
especificada
//esto lo hace el metodo ToCharArray
carateres = s.ToCharArray(0, s.Length);
//Console.WriteLine(s.Length);
Este post en respuesta aun comentario en el post de palindrome en C# explicacin. Tengo que
mencionar que cualquier otro da (es decir; un fin de semana o un da que no sea lunes xD) no
hubiera contestado este comentario con un post, solo hubiera dicho, amigo pinsale un poco y
seguro encuentras la respuestas, pero esta vez he llegado al trabajo y como no tengo mucho
que hacer aqu rpido la solucin a su tarea, solo espero que su profesor no vea este post xD.
El comentario lo pueden revisar aqu:
https://mspnor.wordpress.com/2008/08/10/palindrome-en-c-explicacin/#comment-330
Y aqu la mi pequeo programa que espero que funcione y les sirva (lo pongo por partes para
que se entienda):
Main:
Leer:
try
{
Console.WriteLine("Cantidad de Palabras que tendr la frase?");
int totalPalabras = int.Parse(Console.ReadLine());
Repetir:
Console.Clear();
Console.WriteLine("Introduce Frase: ");
Men:
Frase Invertida:
Funcin Invertir:
Funcin Verificar:
Creo que la explicacin esta de ms, ademas se pueden dar una idea de que hace cada funcin o
mtodo si revisan el comentario del otro post.
Aqu pueden descargar el cdigo fuente:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Palindrome
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("\t\t\tPalindrome");
Console.Write("Ingrese una frase: ");
string cadena = Console.ReadLine();
cadena = cadena.Trim();
Palindrome p = new Palindrome(cadena);
Console.WriteLine("La cadena invertida es '" + p.Invertir() + "'");
p.esPalindrome();
Console.WriteLine("La cadena tiene {0} palabras palindromes", p.tienePalindromos());
Console.ReadLine();
}
}
class Palindrome
{
Cdigo: [Seleccionar]
// Ejercicio 6.33: Palndromos //
#include <stdio.h>
main()
{
int palindromo;
char palabra[20];
int longitud = 0;
while(palabra[longitud] != '\0' )
{
longitud++;
}
if(palindromo == 1)
printf("\nLa palabra introducida ES un pal%cndromo\n\n", 161);
if(palindromo == 0)
printf("\nLa palabra introducida NO ES un pal%cndromo\n\n", 161);
system("pause");
return 0;
}
printf("%d\n", letra);
else
{
letra++;
pruebaPalindromo(palabra, longitud );
#include
#include
using namespace std;
char cadenaf[50]={0}; int len, n=0;
string chk4palindrosity(int c)
{
if(cadenaf[c] == cadenaf[len-1-c])
{
n++;
if(n == len/2)
return "Si es palindromo!";
return chk4palindrosity(c+1);
}
else
return "No es palindromo";
int main()
{
char cadena[50],*parte;
cout<<"Introduce un palindromo: "; cin.getline(cadena,50,'n');
//
//
string
len = strlen(cadenaf);
cout << chk4palindrosity(0);
cin.get();
}
2.
es
palndromo
no.
Para
entrar
en
contexto
primero
Segn Wikipedia la
palabra
"palndromo
viene
del
griego palin
4125214
*FRASE: "Anita
lava
la
tina";
*INICIO: 0;
*FINAL: TAMAO - 1;
*FRASE[INICIO]: A;
*FRASE[FINAL]: a;
*FUNCION_PALINDROMO(FRASE, INICIO, FINAL - 1);
SI coinciden
entonces
continuamos
"recorriendo"
nuestro
nmero o frase tanto para adelante como para atrs. Para ir
adelante usamos INICIO + 1, y para ir hacia atrs FINAL - 1, con
esto llamaremos recursivamente a nuestra funcin.
EN CASO CONTRARIO retornar que la frase no es palndromo.
-Pero
entonces
sencillo,
para
cuando
poder
sabremos
hacer
un
si
es
algoritmo
palndromo
recursivo
no?.
tenemos
Es
que
haremos
que
el
caso
base
sea
cuando
las
posiciones
sean
No
siendo
ms
aqu
os
compartimos
un
screenshot
del
LINK: Palindromo.c
#include <stdio.h>
#include <iostream.h>
int main () {
int j,i;
char frase[50],cadena [50]];
bool temp = false;
printf ("Introduzca una cadena: ");
scanf("%s",&cadena);
for(i=0;i<strlen(cadena);i++) {
j = (strlen(cadena)-1)-i;
programa
frase[i] = cadena[j];
if(frase[i] == cadena[j]) {
temp = true;
}
else {
temp = false;
}
}
if(temp == true) {
cout << "la palabra es palindromo";
}
else {
cout << "La palabra no es palindromo";
}
cout << "\n";
return 0;
}
la logica del programa es sencilla lo que hago es tomar la palabra escrita por el usuario e
invertirla y guardarla en otro array de caracteres para luego hacer la comparacion para ver si
las palabras son identicas de derecha a izquierda y de izquierda a derecho luego en una
variable del tipo bool guardo true si son identicas y false si no lo son pero por algun motivo
que aun desconozco siempre me dice que es palindromo
CamaleonB
Desconectado
Mensajes: 92
Chameleon
Rock's
En lnea
1. #include <iostream>
2. #include <string.h>
3.
7.
8.
9.
cin.get(cadena,50);
10.
11.
for(int i=strlen(cadena)-1;i>=0;i--) {
12.
13.
frase[strlen(cadena)-1-i] = cadena[i];
}
16. }
17. else {
18.
19. }
20.
21. }
22.
return 0;