Generation

generate functionThu, 04 May 2023

En el compilador de lenguaje C que tiene asociado CodeRunner, los enteros (int) se represetan internamente con 4 bytes. Esto implica que un int puede guardar un número que se encuentre en el rango -2147483648 hasta 2147483647. Aunque es cierto que existen otros tipos de datos (long int, por ejemplo) que trabajan con un mayor número de bytes, otra forma de representar números enteros de un número elevado de dígitos consiste en utilizar vectores de chars. Desarrolle un programa que lea dos cadenas de caracteres que representan la secuencia de dígitos de dos números y obtenga una tercera cadena que esté formada por los dígitos de la suma aritmética de las dos primeras. Para simplificar, considere que las dos cadenas de entrada tienen el mismo número de dígitos y que ese valor aparece en primer lugar. Utilice memoria dinámica. Para evitar problemas con la lectura de las cadenas use scanf("%s",cadena) . Ejemplo: Entrada: 12 214748364722 214748364761 Salida: 429496729483

#include <stdio.h> #include <stdlib.h> #include <string.h> int get_difference(char* s1, char* s2, int len) { int i, difference = 0; for (i = 0; i < len; i++) { if (s1[i] != s2[i]) difference++; } return difference; } int main() { char *s1 = NULL, *s2 = NULL; int i, len, diff; scanf("%d", &len); s1 = (char*) malloc(len*sizeof(char)); s2 = (char*) malloc(len*sizeof(char)); scanf("%s", s1); scanf("%s", s2); diff = get_difference(s1, s2, len); printf("%d\n", diff); free(s1); free(s2); return 0; }

Questions about programming?Chat with your personal AI assistant