Publi

  • Algoritmos: Formas de transformar un entero a cadena en C y C++

    8733967750_f80410aa6b_bEn ocasiones disponemos de un entero (int) y necesitamos ese mismo valor en forma de cadena de caracteres (char* en C y string en C++). Ponerlo en pantalla es fácil, nos basta con printf() o cout, pero si queremos transmitir el dato, almacenarlo o hacer que forme parte de un dato más grande, tendremos la necesidad de transformar el tipo de dato.

    Para ello existe una función de stdlib.h no estándar itoa(), y como no es estándar no existe en todas las implementaciones de C, por lo que es conveniente desarrollar una versión de esta función para que podamos compilar nuestro programa en todos los compiladores, o si no disponemos de esta función, para poder utilizarla.… Leer artículo completo

  • Capicúa recursivo en C

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <stdio.h>
    #include <stdlib.h>

    int alreves(int n, int digitos)
    {
      int resto, cocie;

      if (n<10)     // Si tenemos un número de dígitos menor a 2, devolvemos n
        return n;
      else
        {
          resto = n % 10;
          cocie = n / 10;
          return resto*digitos + alreves(cocie, digitos/10);
        }
    }

    int main()
    {
      int num, rev;
      int digitos = 1;
      int tmp;
      printf("Dame un numero: ");
      scanf("%d", &num);
      // Hacemos un número 10^(numero de cifras-1) con esto alreves determinará el
      // número de cifras que tiene el número dado.
    Leer artículo completo