Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: daxelmejor en 17 Mayo 2010, 14:35 PM

Título: ayuda como puedo reducir esta codificacion
Publicado por: daxelmejor en 17 Mayo 2010, 14:35 PM
ector de 10 posiciones e ingresar x teclado ese vector y en otro vector hacer q se asignen el numero ingresado en letras es de 1 al 100
quiero reducirlo porqeu esta muy largo ojala me puedan ayudar
int main() {
const int d=10;
const char x=20;
char m1
Título: Re: ayuda como puedo reducir esta codificacion
Publicado por: bigfu en 17 Mayo 2010, 16:29 PM
Yo lo que haria sería declarar un tipo enumerado, desde el primer numero hasta el ultimo. Creas una funcion SUC (sucesor) que te indique el siguiente enumerado, (va en el orden en el que tu lo has declarado) y lo vas metiendo en el array. Aunque no me ha quedado muy claro qué es lo que tienes que hacer, si lo puedes volver a explicar...
Título: Re: ayuda como puedo reducir esta codificacion
Publicado por: Gallu en 17 Mayo 2010, 17:30 PM

primero metes en un array de char todas las cadenas

char cadenas[100];
cadenas[1] =* ="Uno";
cadenas[2] =* ="Dos";
cadenas[3] =* ="Tres";  ........


luego usas dos bucles , y listo , lo único malo es tener que llenar el arrey de cadenas ....

for (j=0;j<=9;j++) {
for(z=0;z<=100;z++) {
if (m[j]==z) {
cout<< m[j] <<" " <<cadenas[z] <<endl;
}
}
}


haber si te sirve
Título: Re: ayuda como puedo reducir esta codificacion
Publicado por: nicolasblues86 en 17 Mayo 2010, 17:34 PM
siguiendo la logica que estas utilizando lo mejor seria hacer un vector de 100 elementos  que inicializas con los numeros de esta manera


numeros[] {"uno", "dos", "tres"} //..etc

y despues haces un for de 1 a 10 y haces esta sentencia


printf ("el numero ingresado es : %s", numero[m[j] -1])

Entonces si el primer elemento del array que el usuario carga es un dos se imprimira el elemento 2 - 1 del array numero  osea el elemento 1, es decir "dos"