Aiuto esercizio in C

di il
24 risposte

24 Risposte - Pagina 2

  • Re: Aiuto esercizio in C

    Light ha scritto:


    Scusami, ma anche sistemando il for il programma non può funzionare come vorresti, prima di scrivere il codice dovresti almeno immaginare in pseudocodice ciò che dovresti realizzare.
    La consegna ti dice di leggere un numero reale N e fin qui direi che siamo d'accordo
    Però ciò che sbagli è questo principalmente: il tuo ciclo soddisfa soltanto la condizione b, non c'è nessuna condizione che ti permetta di uscire dal ciclo se la media attuale dei numeri inseriti è minore di N ( quindi penso che il controllo vada fatto ad ogni iterazione del ciclo).
    Domani mattina mi metto e faccio le dovute modifiche.
    Non so come mai mi stia creando così tanti problemi, probabilmente devo solo prendere l'abitudine di scrivere più pseudocodici
  • Re: Aiuto esercizio in C

    SteApp001 ha scritto:


    Light ha scritto:


    Scusami, ma anche sistemando il for il programma non può funzionare come vorresti, prima di scrivere il codice dovresti almeno immaginare in pseudocodice ciò che dovresti realizzare.
    La consegna ti dice di leggere un numero reale N e fin qui direi che siamo d'accordo
    Però ciò che sbagli è questo principalmente: il tuo ciclo soddisfa soltanto la condizione b, non c'è nessuna condizione che ti permetta di uscire dal ciclo se la media attuale dei numeri inseriti è minore di N ( quindi penso che il controllo vada fatto ad ogni iterazione del ciclo).
    Domani mattina mi metto e faccio le dovute modifiche.
    Non so come mai mi stia creando così tanti problemi, probabilmente devo solo prendere l'abitudine di scrivere più pseudocodici
    Beh sì, se non si ha idea su come procedere scrivere uno pseudocodice per le parte "critiche", anche senza seguire le regolette formali è molto utile perché poi tradurlo in codice C diventa quasi elementare nella maggior parte dei casi.
  • Re: Aiuto esercizio in C

    SteApp001 ha scritto:


    Anche perchè ...
    Sì, non avevo completamente letto la consegna, sembrava la classica media ... se non ho ancora capito male, qualcosa come
    
    #define MAX 10
    
    int main (void)
    {
    	float N, somma, media;
    	int num, cont;
    
        printf("Inserisci un numero reale: ");
        scanf("%f", &N);
    
        somma=0;
    	media=0;
        cont=0;
        while(cont<MAX && media<N)
        {
    		printf("Inserisci un numero intero: ");
    		scanf("%d", &num);
    		
    		cont++;
    		somma += num;
    
            media = somma/cont;
        }
    
        printf("Il numero reale era %f, la media vale %f\n", N, media);
    
        return 0;
    }
    
  • Re: Aiuto esercizio in C

    oregon ha scritto:


    SteApp001 ha scritto:


    Anche perchè ...
    Sì, non avevo completamente letto la consegna, sembrava la classica media ... se non ho ancora capito male, qualcosa come
    Si potrebbe essere giusto, anche se l'esercizio chiede che almeno una delle due condizioni smetta di essere soddisfatta, quindi ci vuole un
    ||
    posto di
    &&
    .
    In ogni caso domani provo il tutto e vi faccio sapere, grazie
  • Re: Aiuto esercizio in C

    No ... ci vuole un && ...
  • Re: Aiuto esercizio in C

    Come dice Oregon ci vuole &&

    Cosa succede scrivendo || se hai inserito un solo numero che però è maggiore del reale?
  • Re: Aiuto esercizio in C

    ale99 ha scritto:


    Come dice Oregon ci vuole &&

    Cosa succede scrivendo || se hai inserito un solo numero che però è maggiore del reale?
    Si esce dal ciclo, dato che la media risulterebbe "numeroInserito/1", e la condizione 1 sarebbe soddisfatta.
    L'esercizio non chiede di inserire almeno due numeri ma di inserirne un massimo di 10.


    Inviato dal mio iPhone utilizzando Tapatalk
  • Re: Aiuto esercizio in C

    Quindi per uscire la media deve essere maggiore E (&&) devi aver inserito più di 10 numeri
  • Re: Aiuto esercizio in C

    ale99 ha scritto:


    Quindi per uscire la media deve essere maggiore E (&&) devi aver inserito più di 10 numeri
    Io l'ho inteso così l'esercizio:
    Inserisci numeri interi fino a quando la media non supera il numero reale OPPURE il numero di inserimenti non supera 10.
    Può capitare che io inserisca 10 numeri e la media rimanga al di sotto del reale, come può capitare che inserendo un solo numero la media superi il reale.

    Quindi secondo me ci va un OR e non un AND.


    Inviato dal mio iPhone utilizzando Tapatalk
  • Re: Aiuto esercizio in C

    numeri interi finché entrambe le seguenti condizioni sono rispetta
    Comunque l'OR va bene per come hai inteso tu
Devi accedere o registrarti per scrivere nel forum
24 risposte