Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    102

    [C] Verificare se una determinata cifra è presente in un numero ?

    Mi sapreste suggerire un algoritmo per verificare se una determinata cifra è presente in un numero ? Premetto che non devo utilizzare un array Grazie a tutti

  2. #2
    codice:
    while(a>0)
    {
     cifra=a%b;
     if(cifra==cifra_controllo) /*metti la tua condizione*/
     a=a/b;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    102
    Originariamente inviato da _Alfabetagamma_
    codice:
    while(a>0)
    {
     cifra=a%b;
     if(cifra==cifra_controllo) /*metti la tua condizione*/
     a=a/b;
    }
    Scusami, ma b per che cosa sta ?
    Comunque faccio un esempio del problema, nel caso non mi fossi spiegato bene :
    inserisco il numero 46 e la cifra da cercare nel numero. Se la cifra da cercare è 4 allora il programma mi dovrà restituire 1, perchè la cifra 4 compare una volta nel numero 46.

  4. #4
    B sta per la base, se lo vuoi cercare in base 10, metti 10, in base 2, 2 ecc ecc


    46%10=6;
    6==4? no
    46/10=4

    4%10=4
    4==4? si
    4/10=0

    esco dal ciclo

    PS: siccome non avevi detto in base 10, allora ho messo b

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    102
    codice:
    #include <stdio.h>
    int main()
    {
    	int a,cifra_controllo,count=0;
    	scanf("%d",&a);
    	scanf("%d",&cifra_controllo);
    	
    	while(a>0)
    	{
    		cifra=a%10;
    		if(cifra==4)
    		{
    			a/=10;
    			count++;
    		}
    		else
    			a/=10;
    	}
    	printf("Il numero %d compare %d volte\n",cifra_controllo,count);
    }
    Il programma è questo, alcune volte restituisce un conteggio sbagliato o.O

  6. #6
    Originariamente inviato da Ghemon-a
    codice:
    #include <stdio.h>
    int main()
    {
    	int a,cifra_controllo,count=0;
    	scanf("%d",&a);
    	scanf("%d",&cifra_controllo);
    	
    	while(a>0)
    	{
    		cifra=a%10;
    		if(cifra==4)
    		{
    			a/=10;
    			count++;
    		}
    		else
    			a/=10;
    	}
    	printf("Il numero %d compare %d volte\n",cifra_controllo,count);
    }
    Il programma è questo, alcune volte restituisce un conteggio sbagliato o.O

    Ci sono due errori:

    1) devi dichiarare cifra;
    2) il controllo è tra cifra e cifra_controllo, non tra cifra e 4

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    102
    Originariamente inviato da _Alfabetagamma_
    Ci sono due errori:

    1) devi dichiarare cifra;
    2) il controllo è tra cifra e cifra_controllo, non tra cifra e 4
    Giustissimo Grazie mille

  8. #8
    Figurati è un piacere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.