Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Hola me presento :)

Estas en el tema de Hola me presento :) en el foro de C/C++ en Foros del Web. Hola buenas noches a todos.. Mi nombre es Diego Urbina soy de Venezuela, soy nuevo en esta comunidad me presento estoy estudiando Licenciatura en Computación ...
  #1 (permalink)  
Antiguo 24/09/2011, 21:05
Avatar de WizKnight  
Fecha de Ingreso: noviembre-2010
Ubicación: Maracaibo, Venezuela, Venezuela
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 1
Hola me presento :)

Hola buenas noches a todos..
Mi nombre es Diego Urbina soy de Venezuela, soy nuevo en esta comunidad me presento estoy estudiando Licenciatura en Computación en la Universidad del Zulia,

aprovecho el momento para pedirles una ayudita con un ejercicio que dice:
Elabore un algoritmo que almacene en un arreglo, todos los numeros enteros positivos mayores o iguales a 10 , que puedan ser leidos de igual manera de izquierda a derecha que de derecha a izquierda. Al final el algoritmo debe imprimir el contenido del arreglo.
Ejemplo Salida:
11, 22, 33, 44, 55, 66, 77, 88,99,...., 212, etc.

hice un algoritmo así pero usando cadena de caracteres y no es como se supone q lo deba hacer si alguien me da una manito gracias :)
Saludos
  #2 (permalink)  
Antiguo 24/09/2011, 21:12
 
Fecha de Ingreso: septiembre-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Hola me presento :)

Es fácil. Si esperas mañana te ayudo con este.
  #3 (permalink)  
Antiguo 24/09/2011, 21:12
Avatar de WizKnight  
Fecha de Ingreso: noviembre-2010
Ubicación: Maracaibo, Venezuela, Venezuela
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Hola me presento :)

claro, gracias
  #4 (permalink)  
Antiguo 25/09/2011, 10:45
 
Fecha de Ingreso: septiembre-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Hola me presento :)

Una pequeña idea que te puede ser útil. Descomponer el numero para obtener sus unidades y despues ir comparando.
Código:
>>> 121/100
1
>>> 121%100
21
>>> 21/10
2
>>> 21%10
1
PD: esa es la salida de mi consola de python, muy útil para probar los algoritmos antes de

Ahora el tema seria determinar la cantidad de unidades de un números.

Última edición por LioBino; 25/09/2011 a las 11:07
  #5 (permalink)  
Antiguo 25/09/2011, 17:56
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Hola me presento :)

Con un poco de matematica sale este ejercicio. Con este algoritmo obtenemos el inverso de un numero entero.
Código C++:
Ver original
  1. int inverso(int n)
  2. {
  3.    int num = 0;
  4.    while (n != 0 ) {
  5.       num = num * 10 + n % 10;
  6.       n = n / 10;
  7.    }
  8.    return num;
  9. }

Luego debemos comparar:

n == inverso(n)

dentro de un if. Si es verdadero el numero se lee igual de adelante para atras.
  #6 (permalink)  
Antiguo 25/09/2011, 20:22
Avatar de WizKnight  
Fecha de Ingreso: noviembre-2010
Ubicación: Maracaibo, Venezuela, Venezuela
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Hola me presento :)

Exactamente lo que buscaba wow *.*
muchas gracias, me has ayudado a comprender esto Me gusto esa funcion
  #7 (permalink)  
Antiguo 25/09/2011, 20:25
 
Fecha de Ingreso: septiembre-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Hola me presento :)

Me gusto tu solución.
  #8 (permalink)  
Antiguo 25/09/2011, 20:40
Avatar de WizKnight  
Fecha de Ingreso: noviembre-2010
Ubicación: Maracaibo, Venezuela, Venezuela
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Hola me presento :)

He hecho un programa relacionado, pero no funciona muy bien si alguien puede guiarme le agradezco
Numeros menores de 1221 funciona correctamente
pero si ingreso por teclado un numero mayor de 1222 ahi viene el problema..
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int espejo(int n)
  5. {
  6.    int num = 0;
  7.    while (n != 0 ) {
  8.       num = num * 10 + n % 10;
  9.       n = n / 10;
  10.    }
  11.    return num;
  12. }
  13.  
  14. int main()
  15. {
  16.    int n,temp,cont=0;
  17.    int arreglo[100];
  18.    printf("Numeros que se leen igual de izq a derecha, como de derecha a izq\n");
  19.    printf("Menores que un n introducido\n");
  20.    printf("Deme n: ");
  21.    scanf("%d", &n);
  22.    printf("\n\n");
  23.    for(int m=10; m<n; m++)
  24.    {
  25.      temp=espejo(m);
  26.      if(temp==m)
  27.      {
  28.       arreglo[cont]=m;
  29.       cont++;
  30.      }
  31.    }
  32.    for(int cont2=0;cont2<cont;cont2++)
  33.    {
  34.    if((cont2%10)==0)   {printf("\n");} //nueva linea cada 10 numeros
  35.    printf("%d ",arreglo[cont2]);
  36.    }
  37.    printf("\n\n");
  38.    system("PAUSE");
  39. }

Última edición por WizKnight; 25/09/2011 a las 20:50
  #9 (permalink)  
Antiguo 26/09/2011, 10:59
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Hola me presento :)

Seguramente el numero 1221 termina de llenar el arreglo, que vos declaraste como int arreglo[100];
Con esa restriccion solo podes almacenar 100 numeros... Una solucion momentania seria subir el 100 a 200 o 1000. Pero depende de la cota superior que vos tengas.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:01.