Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Izaac

Número Capicua

Recommended Posts

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

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

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

É 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.