Código
#include <stdio.h> #define ADDED_DIGIT 1; int numReverse(int num); //pendiente posible que tenga que ser void y asterisco // int numReverse(int num); int numConcatenate(int num1, int num2); //fallo movimiento de funcion aqui arriba. /* concatenateTwoNumbers */ int main(int argc, char **argv) { int num1, num2; int concat; /*testNumReverse();*/ /*testConcatenarNumeros();*/ scanf("%d", &num1); /* el numero ha d'estar entre 1 i 9999*/ //fallo faltaba & scanf("%d", &num2); /* el numero ha d'estar entre 1 i 9999*/ //fallo concat = numConcatenate(num1, num2); printf("%d\n", concat); return 0; } int numConcatenate(int num1, int num2) //FUNCION { int concat; int endValue; int endDigit; concat = num1; endDigit = num2 % 10; if (endDigit == 0) { //fallo faltaba = num2 = ADDED_DIGIT + num2 * 10; /* afegim dígit com a marca per mantenir zeros a l’esquerra: * numReverse(200) seria 2 en comptes de 002. Si afegim un 1 * numReverse(2001) val 1002. Manté zeros, 1 és marca de final */ endValue = ADDED_DIGIT; } else { endValue = 0; } num2 = numReverse(num2); while (num2!=endValue) { concat = concat * 10 + num2 % 10; num2 = num2 / 10; } return concat; } int numReverse(int num) //FUNCION { int reverse; reverse = 0; while (num > 0) { reverse = reverse * 10 + num % 10; num = num / 10; } return reverse; //fallo faltaba ; }
Mod: tema modificado los códigos deben ir en etiquetas GeSHi, modifica el titulo del post, el mismo debe ser descriptivo al problema