English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas las categorías

alguien sabe como rogramar un numero capicua, es tarea jeje pero no se como hacerlo estaria muy agradecida si me ayudan, ya lo tengo solo q no se como expresarlo bien muchas gracias...

2007-02-12 05:01:24 · 3 respuestas · pregunta de jefa89 1 en Ordenadores e Internet Programación y Diseño

3 respuestas

No inventes, como te paso todo el código para que lo haga.

Te puede decir que dado las caracteríasticas del número es conveniente trabajar con strings y hacer un ciclo for que te genere números del 1 al 9, primero que te los ponga 2 veces en una variable, luego para los número de 3 dígitos puedes agregar otro for de 0 a 9 anidado.... mmmm ese mejor si te lo paso:

String Numero;

for (A=0;A<=9;>++)
{
for(B=1;B<=9;B++)
{
Numero =A&B&A;
}
}

Disculpa no recuerdo el simbolo para concatenar en c++, pero sino puedes usar strcat().

para más digitos tienes que agregar más for's.

Espero te sirva y ya ponde a hacer tu tarea :P

2007-02-12 05:17:49 · answer #1 · answered by BreakPoint 3 · 0 0

Haber checa estos:
Muy facil inviertes la palabra y lo comparas si son iguales es un palindromo ,por ej:
int i,j=0;
char palabra[18],palabrareves[18];
........
i=strlen(palabra)-1;
for(i;i>=0;j++,i--)
palabrareves[j]=palabra[i];

if(memcmp(palabra,palabrareves,j)==0)
es un palindromo
else
no es un palindromo

En vez de usar memcmp podrias usar tb strcmp pero
entonces deberia poner el caracter de fin de cadena a
palabra reves

una variacion de lo anterior usando una funciones existentes en C++

// program capicua.cpp
// written in borland c++ - ver 4.5

#include
#include

void main()
{
char a[50],b[50];
cin >> a;
strcpy(b,a); // copia b = a;
strrev(b); // invierte b
if(strcmp(a,b))
cout << "no ";
cout << "es capicua" << endl;
} // MAIN


Aqui va un procedimiento mas efectivo :

// program palindrome.cpp
// written in borland c++ - ver 4.5

#include
#include

void main()
{
char a[50];
cin >> a;
int result = 1,len = strlen(a)-1;
for(int i = 0;i <= len/2 && result;i++)
if(a[i] != a[len-i]) // revisamos hasta len/2 - por que ?
result = 0;
if(!result)
cout << "no ";
cout << "es capicua" << endl;
} // MAIN

2007-02-12 05:18:23 · answer #2 · answered by akyanything 4 · 0 0

No te lo hago, pero te doy una pista. Hay mucho mejores metodos, pero como lo hice hace tiempo en el colegio por instruccion del profe (era curso basico) fué así:


define tres variables numericas, supongamos:

var1 var2 var3

ahora, les das un valor numerico aleatorio

supongamos:

var1==5
var2==9
var3==8

ahora imprimes en pantalla en este orden:

var1 var2 var3 var3 var2 var1

y listo.
En base a este mismo código fuimos automatizandolo cada vez más, hasta usar solo una variable (matriz) y como 4 lineas de codigo)


ahora haz tú el código.

¿Me ayudas con esto?:
http://mx.answers.yahoo.com/question/index;_ylt=AvJphIAwrVzWXDAjleTkVXGY8gt.?qid=20070212100030AA0Db8d

2007-02-12 05:18:04 · answer #3 · answered by Wilson Net 5 · 0 0

fedest.com, questions and answers