Hola, estoy intentando realizar un programa que inserte un numero de 1 a 9 y busque si esta en otra cifra pedida, ejemplo:
introduzco el 5, introduzco el 167457, y me dice que el 5 esta en la cifra.
Pero no funciona y no le encuentro el fallo, por un lado tengo un problema a la hora de contar las cifras y finalmente no funciona.
¿Me podríais echar una mano? Gracias de antemano.
introduzco el 5, introduzco el 167457, y me dice que el 5 esta en la cifra.
Pero no funciona y no le encuentro el fallo, por un lado tengo un problema a la hora de contar las cifras y finalmente no funciona.
¿Me podríais echar una mano? Gracias de antemano.
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define TAM 20
int main()
{
printf("*** CIFRAS ***\n\n");
int i,num,cifra,resto[TAM];
int semaforo=0;
int potencia=10;
int longitud=1;
int copia_cifra;
//introduzco un numero de 1 a 9
printf("Intrduce un entero de 1 a 9:\n");
scanf(" %d",&num);
while(num>9||num<1)
{
printf("ERROR. Intrduce un entero de 1 a 9");
scanf(" %d",&num);
}
//introduzco una cifra mayor que 0
printf("Intrduce una cifra mayor que 0:\n");
scanf(" %d",&cifra);
while(cifra<1)
{
printf("ERROR. Intrduce una cifra mayor que 0:\n");
scanf(" %d",&cifra);
}
copia_cifra=cifra;
//Aqui obtengo el numero de cifras que tiene mi numero
while(copia_cifra/10>0)
{
copia_cifra=copia_cifra/10;
longitud++;
}
//Divido la cifra por decena centenas etc y averiguo si coincide con el numero pedido
for(i=0;i<longitud&&semaforo!=1;i++)
{
resto[i]=cifra%(potencia^(i+1));
return 0;
if(resto[i]==num)semaforo=1;
else if(resto[i]/(potencia^i)==num)semaforo=1;
}
if(semaforo==1)printf("\nEl numero aparece en la cifra");
else if(semaforo==0)printf("\nEl numero NO aparece en la cifra");
return 0;
}