Izaac 0 Denunciar post Postado Abril 1, 2013 Olá, sou novato por aqui e necessito de uma ajudinha com uma função para inverter um número e dizer se ele é capitua, (ex: 2002, que invertido também se escreve 2002), já consegui a função para inverter, porém, não sei como continuar e os comandos para comparar os números, alguém pode ajudar? Desde já, agradeço Abaixo o que fiz até agora: #include <stdlib.h> #include <stdio.h>int inverter(int num){ int aux, num2=0, f; aux = num; while(aux>0) { f = aux % 10; num2 = 10*num2+f; aux = (int) aux/10; } return (num2); }int main(){ int num, invert; printf("Digite um numero\n"); scanf("%d", &num); invert = inverter(num); printf("O numero invertido e: %d\n", invert);system("pause");} Compartilhar este post Link para o post Compartilhar em outros sites
ScreenBlack 13 Denunciar post Postado Abril 2, 2013 Para fazer a comparação, é super simples: if ( num == invert ) printf("Numeros sao iguais.\n"); else printf("Numeros sao diferentes.\n"); Compartilhar este post Link para o post Compartilhar em outros sites
Izaac 0 Denunciar post Postado Abril 2, 2013 Pois é cara, mas não é só comparar, é dizer se o numero é Capicua. Com este argumeto que vc propos o numero nunca será igual ao invertido, mesmo assim obrigado. Para fazer a comparação, é super simples: if ( num == invert ) printf("Numeros sao iguais.\n"); else printf("Numeros sao diferentes.\n"); Compartilhar este post Link para o post Compartilhar em outros sites
ScreenBlack 13 Denunciar post Postado Abril 2, 2013 A variável "num" possui o valor original e a "invert" possui o número invertido, retornado pela sua função. Por exemplo, "num" recebe o valor 12321, passa pela função de inversão, se tornando 12321, ou seja, são iguais. Não difere ser forem lidos de frente pra trás ou de trás pra frente. Foi isso que você colocou no enunciado. Faltou você especificar algo no enunciado? algum outro tratamento? Compartilhar este post Link para o post Compartilhar em outros sites
Izaac 0 Denunciar post Postado Abril 2, 2013 É isso mesmo cara, eu que tive um pensamento errado, coloquei aqui na função e funcionou, obrigado. A variável "num" possui o valor original e a "invert" possui o número invertido, retornado pela sua função.Por exemplo, "num" recebe o valor 12321, passa pela função de inversão, se tornando 12321, ou seja, são iguais. Não difere ser forem lidos de frente pra trás ou de trás pra frente.Foi isso que você colocou no enunciado.Faltou você especificar algo no enunciado? algum outro tratamento? Compartilhar este post Link para o post Compartilhar em outros sites