Título: Programa que busca un número en una cifra
Publicado por: rosky en 27 Enero 2017, 20:40 pm
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. #include <stdio.h> #include <stdlib.h> #define TAM 20 int main() { 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"); while(num>9||num<1) { printf("ERROR. Intrduce un entero de 1 a 9"); } //introduzco una cifra mayor que 0 printf("Intrduce una cifra mayor que 0:\n"); while(cifra<1) { printf("ERROR. Intrduce una cifra mayor que 0:\n"); } 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; }
Título: Re: Programa que busca un número en una cifra
Publicado por: AnthonyS en 28 Enero 2017, 18:15 pm
Saludos. Me pidieron un ejercicio igual que ese en clase hace 1 año,te mostraré el código para ver si te ayuda a aclararte. #include <stdio.h> #include <stdlib.h> int main() { int numero=0,propuesto=0; printf("Introduzca un numero mayor que cero,y luego uno desde 0 hasta 9 \n el primero sera usado de referencia y el segundo el que se \n busca.\n"); while(numero <1 || propuesto <1) scanf("%d %d",&numero ,&propuesto ); while(numero>0) { if(numero%10 == propuesto) { printf("El numero pertence a la cifra introducida \n"); numero = 0; propuesto = 0; } else numero = numero/10; } if(propuesto ) printf("La cifra propuesta no existe en el numero\n"); return 0; }
Un saludo.
Título: Re: Programa que busca un número en una cifra
Publicado por: rosky en 30 Enero 2017, 23:47 pm
Perfecto,muchas gracias ;-)
Título: Re: Programa que busca un número en una cifra
Publicado por: NavyPenguin en 1 Febrero 2017, 20:22 pm
Veo que ya te dieron una respuesta, pero con respecto a tu código, te sugiero que utilices un arreglo y luego pedir la cifra con char *fgets(char *cadena, int n, FILE *stream); , ya que fgets lee una cadena de caracteres siendo "n" el numero maximo de cifras a leer y STREAM el archivo de donde lee, en este caso sería "stdin" que es el archivo de entrada de teclado. Luego vas revisando caracter por caracter gracias al arreglo y revisas si es = 5.
Espero que te sirva.
|