Dado un número entero N, la tarea es convertirlo en una array de caracteres.
Ejemplo:
Entrada: N = 2020
Salida: {2, 0, 2, 0}
Explicación: Aquí char array arr[] = {2, 0, 2, 0}
Entrada: N = 12349
Salida: {1, 2, 3, 4, 9}
Explicación: Aquí char array arr[] = {1, 2, 3, 4, 9}
Enfoque: el enfoque básico para hacer esto es encontrar recursivamente todos los dígitos de N e insertarlos en la array de caracteres requerida.
- Cuente los dígitos totales en el número.
- Declare una array char de dígitos de tamaño en el número.
- Separar enteros en dígitos y acomodarlos a una array de caracteres.
- Agregar el valor ASCII del carácter ‘0’ es 48 en cada elemento de la array.
A continuación se muestra la implementación del enfoque anterior:
C
// C program to convert integer // number into character array #include <stdio.h> #include <stdlib.h> // Function to convert integer to // character array char* convertIntegerToChar(int N) { // Count digits in number N int m = N; int digit = 0; while (m) { // Increment number of digits digit++; // Truncate the last // digit from the number m /= 10; } // Declare char array for result char* arr; // Declare duplicate char array char arr1[digit]; // Memory allocation of array arr = (char*)malloc(digit); // Separating integer into digits and // accommodate it to character array int index = 0; while (N) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = N % 10 + '0'; // Truncate the last // digit from the number N /= 10; } // Reverse the array for result int i; for (i = 0; i < index; i++) { arr[i] = arr1[index - i]; } // Char array truncate by null arr[i] = '\0'; // Return char array return (char*)arr; } // Driver Code int main() { // Given number int N = 12349; int len = 5; // Function call char* arr = convertIntegerToChar(N); // Print char array for (int i = 0; i < len; i++) printf("%c, ", arr[i]); return 0; }
Java
// Java program to convert integer // number into character array class GFG{ // Function to convert integer to // character array static char[] convertIntegerToChar(int N) { // Count digits in number N int m = N; int digit = 0; while (m > 0) { // Increment number of digits digit++; // Truncate the last // digit from the number m /= 10; } // Declare char array for result char[] arr; // Declare duplicate char array char []arr1 = new char[digit + 1]; // Memory allocation of array arr = new char[digit]; // Separating integer into digits and // accommodate it to character array int index = 0; while (N > 0) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = (char)(N % 10 + '0'); // Truncate the last // digit from the number N /= 10; } // Reverse the array for result int i; for(i = 0; i < index; i++) { arr[i] = arr1[index - i]; } // Return char array return (char[])arr; } // Driver Code public static void main(String[] args) { // Given number int N = 12349; int len = 5; // Function call char[] arr = convertIntegerToChar(N); // Print char array for(int i = 0; i < len; i++) System.out.printf("%c, ", arr[i]); } } // This code is contributed by amal kumar choubey
Python3
# Python3 program to convert integer # number into character array # Function to convert integer to # character array def convertIntegerToChar(N): # Count digits in number N m = N; digit = 0; while (m > 0): # Increment number of digits digit += 1; # Truncate the last # digit from the number m /= 10; # Declare char array for result arr = ['0' for i in range(digit)] # Declare duplicate char array arr1 = ['0' for i in range(digit + 1)]; # Separating integer # into digits and # accommodate it # to character array index = 0; while (N > 0): index += 1; # Separate last digit from # the number and add ASCII # value of character '0' is 48 arr1[index] = chr(int(N % 10 + 48)); # Truncate the last # digit from the number N = N // 10; # Reverse the array for result for i in range(0, index): arr[i] = arr1[index - i]; # Return char array return arr; # Driver Code if __name__ == '__main__': # Given number N = 12349; len = 5; # Function call arr = convertIntegerToChar(N); # Print array for i in range(0, len, 1): print(arr[i], end = " "); # This code is contributed by gauravrajput1
C#
// C# program to convert integer // number into character array using System; class GFG{ // Function to convert integer to // character array static char[] convertintToChar(int N) { // Count digits in number N int m = N; int digit = 0; while (m > 0) { // Increment number of digits digit++; // Truncate the last // digit from the number m /= 10; } // Declare char array for result char[] arr; // Declare duplicate char array char []arr1 = new char[digit + 1]; // Memory allocation of array arr = new char[digit]; // Separating integer into digits and // accommodate it to character array int index = 0; while (N > 0) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = (char)(N % 10 + '0'); // Truncate the last // digit from the number N /= 10; } // Reverse the array for result int i; for(i = 0; i < index; i++) { arr[i] = arr1[index - i]; } // Return char array return (char[])arr; } // Driver Code public static void Main(String[] args) { // Given number int N = 12349; int len = 5; // Function call char[] arr = convertintToChar(N); // Print char array for(int i = 0; i < len; i++) Console.Write("{0}, ", arr[i]); } } // This code is contributed by amal kumar choubey
Javascript
<script> // Javascript program to convert integer // number into character array // Function to convert integer to // character array function convertIntegerToChar(N) { // Count digits in number N let m = N; let digit = 0; while (m > 0) { // Increment number of digits digit++; // Truncate the last // digit from the number m = parseInt(m / 10, 10); } // Declare char array for result let arr; // Declare duplicate char array let arr1 = new Array(digit + 1); // Memory allocation of array arr = new Array(digit); // Separating integer into digits and // accommodate it to character array let index = 0; while (N > 0) { // Separate last digit from // the number and add ASCII // value of character '0' is 48 arr1[++index] = String.fromCharCode(N % 10 + '0'.charCodeAt()); // Truncate the last // digit from the number N = parseInt(N / 10, 10); } // Reverse the array for result let i; for(i = 0; i < index; i++) { arr[i] = arr1[index - i]; } // Return char array return arr; } // Given number let N = 12349; let len = 5; // Function call let arr = convertIntegerToChar(N); // Print char array for(let i = 0; i < len; i++) document.write(arr[i] + ", "); // This code is contributed by divyeshtsbsdiya07 </script>
Producción:
1, 2, 3, 4, 9,
Publicación traducida automáticamente
Artículo escrito por manikumartharmaraj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA