Esercizio In C sequenza numeri chiusa dallo zero

di
Anonimizzato23505
il
11 risposte

Esercizio In C sequenza numeri chiusa dallo zero

Buonasera a tutti...avrei bisogno una mano per svolgere questo esercizio.
Data in input una sequenza di numeri interi positivi minori di 100, chiusa dal valore zero, determinare quanti numeri sono minori di 50, quanti sono dispari e quanti sono multipli di 3; nel caso in cui l'utente non digiti lo zero, non sarà possibile inserire più di 20 numeri. E' richiesto un controllo dell'input e lo svolgimento tramite cicli e non procedure o funzioni.

io

ho fatto in questo modo ma il programma non gira.
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

main()
{
int minore=0, dispari=0, multipli=0, num, i=0;
do
{

do{
printf("inserisci un numero");
scanf("%d", &num);
}while (num<=0 || num>100);


i++;
if(num<50)
{minore++;
}
if (num%2==1)
{dispari++;
}
if(num%3==0)
{multipli++;
}
} while (num!=0 && i<20);


printf("<50 %d", minore);
printf("dispari%d", dispari);
printf("multipli %d",multipli);
system("PAUSE");
}



gentilmente potreste dirmi cosa sbaglio?

11 Risposte

  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    Usa i tag code per postare il codice. Prova a mettere la stampa dei contatori all'interno del do while così vedi come progrediscon ad ogni inserimento.
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    Che vuol dire "non gira" ?
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    oregon ha scritto:


    Che vuol dire "non gira" ?
    mi sono espressa male.. volevo dire che con questo codice non riesco ad entrare nel ciclo.
    l'unica output che ho è inserisci un numero e dammi il valore del numero che hai inserito.
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    candaluar ha scritto:


    Usa i tag code per postare il codice. Prova a mettere la stampa dei contatori all'interno del do while così vedi come progrediscon ad ogni inserimento.
    ho appena provato ma nulla...il ciclo do while all'interno di un altro ciclo do while è corretto?
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    Che vuoi dire? Hai inserito 20 numeri uno dopo l'altro?
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    oregon ha scritto:


    Che vuoi dire? Hai inserito 20 numeri uno dopo l'altro?
    Mi va inserire un solo numero dopodiche...non incrementa le variabili
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    Vuoi dire che non esce se inserisci lo 0?
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    Non so spiegarmi...praticamente qualsiasi numero inserisco non riesco ad entrare nella seconda parte del ciclo.
    in pratica non riesco ad inserire la sequenza e non so nemmeno se il numero è minore di 0, dispari o pari.
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    Quindi, se inserisci 0 non concludi la sequenza. Ed è ovvio perché nel primo ciclo includi lo 0 come valore non ammesso (mentre è ammesso).

    Devi fare queste modifiche
    
    		} while (num < 0 || num>100);
    
    		if (num)
    		{
    			i++;
    			if (num < 50)
    			{
    				minore++;
    			}
    			if (num % 2 == 1)
    			{
    				dispari++;
    			}
    			if (num % 3 == 0)
    			{
    				multipli++;
    			}
    		}
    	}
    
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    oregon ha scritto:


    Quindi, se inserisci 0 non concludi la sequenza. Ed è ovvio perché nel primo ciclo includi lo 0 come valore non ammesso (mentre è ammesso).

    Devi fare queste modifiche
    
    		} while (num < 0 || num>100);
    
    		if (num)
    		{
    			i++;
    			if (num < 50)
    			{
    				minore++;
    			}
    			if (num % 2 == 1)
    			{
    				dispari++;
    			}
    			if (num % 3 == 0)
    			{
    				multipli++;
    			}
    		}
    	}
    


    grazie tante...la contatta se continuo ad avere problemi
  • Re: Esercizio In C sequenza numeri chiusa dallo zero

    Scrivi sul forum e qualcuno ti darà suggerimenti...
Devi accedere o registrarti per scrivere nel forum
11 risposte