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

[SOLUCIONADO] Cómo guardar los valores de numeros enteros de un arreglo en otra variable?

Estas en el tema de Cómo guardar los valores de numeros enteros de un arreglo en otra variable? en el foro de C/C++ en Foros del Web. Hola, debo de hacer esto: Escriba un programa que reciba un número entero por teclado y devuelva otro entero con los dígitos en reversa. Código: ...
  #1 (permalink)  
Antiguo 24/03/2015, 20:07
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Pregunta Cómo guardar los valores de numeros enteros de un arreglo en otra variable?

Hola, debo de hacer esto:
Escriba un programa que reciba un número entero por teclado y devuelva otro entero con los dígitos en reversa.

Código:
#include <stdio.h>
#include <stdlib.h>

/*
Tema V. Funciones

2. Escriba un programa que reciba un número entero por teclado y devuelva otro entero con los
dígitos en reversa.
*/

int ContarCifras(int liNumero)
{
    int liCifras = 0;

    //Buscamos cuántas cifras tiene el número entero ingresado
    while (liNumero >= 1)
    {
        liNumero = liNumero / 10; //Obtenemos el número original pero sin la última cifra
        liCifras++;
    }

    return liCifras;
}

int main()
{
    //Declaración de variables
    int liNumero, liCifras, liContador, liResto, laiArreglo[11], liNuevoEntero = 0;

    //Entrada de datos
    printf("Ingrese un n%cmero entero: ", 163);
    scanf("%d", &liNumero);

    //Procesamiento
    liCifras = ContarCifras(liNumero); //Llamamos a la función para contar cuántas cifras tiene el número entero ingresado

    for (liContador = 0; liContador < liCifras; liContador++)
    {
        liResto = liNumero%10; //Obtenemos la última cifra del número
        liNumero = liNumero/10; //Obtenemos el número original pero sin la última cifra
        laiArreglo[liContador] = liResto; //Guardamos la última cifra en un arreglo
    }

    for (liContador = 0; liContador < liCifras; liContador++)
    {
        liNuevoEntero += laiArreglo[liContador] * 100 * 10;
    }

    //Salida de datos

    return 0;
}
Hasta ahora llevo sólo esto, busqué cuantas cifras tiene el numero entero ingresado.

Sé que si se tiene 3 números (A= 1, B=2, B=3), entonces:
Variable = (A * 100) + (B* 10) + C;
Variable = 123

Pero, y en un arreglo con muchos números, como los asigno todos en una variable?, cual es el procedimiento correcto?.

Espero que me ayuden, salidos!.
  #2 (permalink)  
Antiguo 24/03/2015, 22:29
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Cómo guardar los valores de numeros enteros de un arreglo en otra variable

Hola RGT.
Cita:
Iniciado por RGT Ver Mensaje
Hola, debo de hacer esto:
Escriba un programa que reciba un número entero por teclado y devuelva otro entero con los dígitos en reversa.
...
Creo que podrías simplificarlo bastante.
Código C:
Ver original
  1. ...
  2. int main() {
  3.   // Declaración de variables
  4.   int liNumero, revert = 0;
  5.  
  6.   // Entrada de datos
  7.   printf("Ingrese un numero entero: ");
  8.   scanf("%d", &liNumero);
  9.  
  10.   // Procesamiento
  11.   while (liNumero) {
  12.     revert = revert * 10 + liNumero % 10;
  13.     liNumero /= 10;
  14.   }
  15.   /* O también:
  16.   for(revert=0; liNumero > 0; liNumero /= 10)
  17.     revert = revert * 10 + liNumero % 10;
  18.   */
  19.  
  20.   // Salida de datos
  21.   printf("\n%d", revert);
  22.  
  23.   return 0;
  24. }

Y si es sólo mostrarlo, más todavía:
Código C:
Ver original
  1. ...
  2.    // Procesamiento
  3.   while (liNumero) {
  4.     printf("%d", liNumero % 10);
  5.     liNumero /= 10;
  6.   }
  7. ...

Saludos.

Última edición por ecfisa; 24/03/2015 a las 22:42 Razón: agregar opción

Etiquetas: arreglo, enteros, funcion, int, numero, numeros, programa
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 18:05.