Ir ao conteúdo
  • Cadastre-se

Problema em inversor em c


murilomelo16

Posts recomendados

// O Objetivo é pegar um inteiro de 3 digitos na forma CDU(centena dezena //unidade) e transforma-lo em UDC (unidade dezena centena) exemplo.: //entrada: 123 saida: 321

//consegui implementar esse codigo...

#include<stdio.h>

#include<stdlib.h>

int main()
{
int u,c,d,auxd,num,inv;
printf("inversor de numeros \n\n");
printf("\n\n Insira o numero que deseja inverter \t");
scanf("%i",&num);
c=(int)num/100;
auxd=num-(c*100);
d=(int)auxd/10;
u=num-(c*100)+(d*10);
inv=(u*100)+(d*10)+(c);
printf("%i",inv);
system("pause");
return 0;
}

// so que com ele quando compilo e dou 123 (por exemplo) como entrada obtenho 4321

//se entro com 234 obtenho 6432

//ele dobra a dezena e coloca na frente...

//preciso de ajuda to empacado a um tempinho ja neste codigo... aah nada //de saidas espertinhas como interpretar como string ou usar mascaras pois //isto nao e admitido pelo exercicio, falows

//atenciosamente,

//[[]]'s

Link para o comentário
Compartilhar em outros sites

// O Objetivo é pegar um inteiro de 3 digitos na forma CDU(centena dezena //unidade) e transforma-lo em UDC (unidade dezena centena) exemplo.: //entrada: 123 saida: 321

//consegui implementar esse codigo...

#include<stdio.h>

#include<stdlib.h>

int main()
{
int u,c,d,auxd,num,inv;
printf("inversor de numeros \n\n");
printf("\n\n Insira o numero que deseja inverter \t");
scanf("%i",&num);
c=(int)num/100;
auxd=num-(c*100);
d=(int)auxd/10;
u=num-(c*100)+(d*10);
inv=(u*100)+(d*10)+(c);
printf("%i",inv);
system("pause");
return 0;
}

// so que com ele quando compilo e dou 123 (por exemplo) como entrada obtenho 4321

//se entro com 234 obtenho 6432

//ele dobra a dezena e coloca na frente...

//preciso de ajuda to empacado a um tempinho ja neste codigo... aah nada //de saidas espertinhas como interpretar como string ou usar mascaras pois //isto nao e admitido pelo exercicio, falows

//atenciosamente,

//[[]]'s

Não compilei pra testar mas tente Isto...

int main()

{

int u,c,d,auxd,num,inv;

printf("inversor de numeros \n\n");

printf("\n\n Insira o numero que deseja inverter \t");

scanf("%i",&num);

c=(int)num/100;

auxd=num-(c*100);

d=(int)auxd/10;

u=num-(c*100)-(d*10);//<---- Veja que nesta linha eu só troquei o sinal de + pra menos

inv=(u*100)+(d*10)+©;

printf("%i",inv);

system("pause");

return 0;

}

Link para o comentário
Compartilhar em outros sites

pods crer cara, era so o sinal mesmo... erro bobo rs

consegui uma nova implementação aqui, so mexendo com os parenteses u.u

ficaria assim a linha do problema u=num-((c*100)+(d*10));

segue ela

#include<stdio.h>
#include<stdlib.h>

int main()
{
int u,c,d,auxd,num,inv;
printf("inversor de numeros \n\n");
printf("\n\n Insira o numero que deseja inverter \t");
scanf("%i",&num);
c=(int)num/100;
auxd=num-(c*100);
d=(int)auxd/10;
u=num-((c*100)+(d*10));
inv=(u*100)+(d*10)+(c);
printf("%i",inv);
system("pause");
return 0;
}

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!