Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1

    Codice che stampa e conta i numeri più grandi della media[Linguaggio C]

    Salve mi è stato chiesto all'Uni un algoritmo che memorizzasse i voti in un vettore, stampasse e calcolasse la media. In oltre nella traccia c'era anche "stampare e contare i voti più grandi della media"

    io ho scritto questo
    #include<stdio.h>


    int main(){





    //dichiarazioni





    int i,n;


    float media=0;
    int votimagmedia;
    int somma=0;





    //acquisizione dati





    printf("inserire il numero di voti : ");


    scanf("%d",&n);








    //dichiarazioni condizionate





    int voti[n];








    //calcoli





    for(i=0;i<n;i++){


    printf("inserire il voto numero %d : ",i+1);


    scanf("%d",&voti[i]);


    }


    for(i=0;i<n;i++)


    media += voti[i];


    media /= n;


    for(voti[i]=0;voti[i]>media;voti[i]++){

    printf("I voti più grandi della media sono: ",voti[i]>media);}






    //visualizzazione risultati



    printf("la media dei voti e` %f\n",media);



    }

    Mi blocco sull'implementazione che mi permette di contare e stampare i numeri più grandi della media! Qualcuno saprebbe consigliarmi??

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    22
    Secondo me hai capito come farlo, ma nel farlo hai sbagliato tutto. Non so cosa faccia quello che hai scritto, ma se vedi bene, tu alla fine non fai che incrementare di 1 il primo voto inserito nel vettore, e stampi voti[i]>media che non serve a nulla. Invece dovresti usare i per vedere tutti voti nell'array e verificare se sono maggiori di media

    Edit

    Anzi guardandolo bene, visto che prima dell'ultimo for i vale n-1, nell'ultimo for incrementi non il primo voto,
    ma l'n-1esimo voto dell'array (praticamente l'ultimo). Comunque questo non cambia niente
    Ultima modifica di ANDPRI; 22-04-2017 a 20:42

  3. #3
    Quindi dovrei scrivere
    for(i=0;i>media; i++) per vedere quali sono i voti più grandi della media

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    22
    Prova e dicci se funziona

  5. #5
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    Ciao

    Devi prima di tutto tenere conto dei numero di voti inseriti tramite una variabile che incrementi, magari al posto di un for() un do while() con condizione di uscita "magari
    while(voto<0) numero negativo termina il ciclo.

    per sapere quali voti sono maggiori della media

    codice:
    for(i=0;i<NumVoti;i++){
        if(voti[i]>media)
            printf("I voto più alto della media %d\n: ",voti[i]);
    }
    Tecnologia

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    22
    Quote Originariamente inviata da torn24 Visualizza il messaggio
    Devi prima di tutto tenere conto dei numero di voti inseriti tramite una variabile che incrementi, magari al posto di un for() un do while() con condizione di uscita "magari
    while(voto<0) numero negativo termina il ciclo.

    per sapere quali voti sono maggiori della media

    codice:
    for(i=0;i<NumVoti;i++){
        if(voti[i]>media)
            printf("I voto più alto della media %d\n: ",voti[i]);
    }
    1) alcune delle cose che hai detto sono sbagliate
    2) se avessi voluto avrei potuto tranquillamente dargli io il codice già fatto, chiunque avrebbe potuto, ma lo scopo è farlo ragionare e fargli trovare la soluzione da solo attraverso degli aiuti. Se gli dai tutto fatto non serve a niente
    3) da quello che hai scritto si vede che non hai capito niente nemmeno tu visto che la variabile corrispondente al numero dei voti l'ha già messa, e non c'è nemmeno bisogno di incrementarla, dal momento che viene fornita giusta. O leggi tutto quello che ha scritto nel primo messaggio, o gli confondi solo le idee

  7. #7
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    Ciao

    Quote Originariamente inviata da ANDPRI Visualizza il messaggio
    1) alcune delle cose che hai detto sono sbagliate
    2) se avessi voluto avrei potuto tranquillamente dargli io il codice già fatto, chiunque avrebbe potuto, ma lo scopo è farlo ragionare e fargli trovare la soluzione da solo attraverso degli aiuti. Se gli dai tutto fatto non serve a niente
    3) da quello che hai scritto si vede che non hai capito niente nemmeno tu visto che la variabile corrispondente al numero dei voti l'ha già messa, e non c'è nemmeno bisogno di incrementarla, dal momento che viene fornita giusta. O leggi tutto quello che ha scritto nel primo messaggio, o gli confondi solo le idee


    Tu farai quello che vuoi e io altrettanto, non ho notato che chiedeva il numero di elementi n, visto che il codice non è molto leggibile. E' un semplice ciclo for() non ritengo che ci sia da fare discussioni o che debba fare molti ragionamenti. Inizi male la frequentazione del forum, se vuoi aiutare a tuo modo è giustissimo, se vuoi dire la tua su le risposte degl' altri utenti crei solo polemiche. Quindi ti consiglio di rispondere ai thread come ritieni opportuno, ma evitare di intrometterti su come rispondano altri, visto che hanno il solo obbligo di rispettare il regolamento,non di seguire le tue idee o desideri.
    Ultima modifica di torn24; 23-04-2017 a 09:33
    Tecnologia

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    22
    Almeno assicurati di aver capito tutto quello che ha scritto però, prima di dire cose che potrebbero essere sbagliate

  9. #9
    Andpri sei un ottimo mitigatore comunque ci sono riuscito qst � il codice
    #include<stdio.h>


    int main(){





    //dichiarazioni





    int i,n;
    float media=0;







    //acquisizione dati





    printf("inserire il numero di voti : ");


    scanf("%d",&n);








    //dichiarazioni condizionate





    int voti[n];








    //calcoli





    for(i=0;i<n;i++){


    printf("inserire il voto numero %d : ",i+1);


    scanf("%d",&voti[i]);


    }


    for(i=0;i<n;i++)


    media += voti[i];


    media /= n;


    for(i=0;i>media;i++)

    printf("I voti pi� alti della media sono %d", i+1);





    //visualizzazione risultati



    printf("la media dei voti e` %f\n",media);

    printf("I voti pi� alti della media sono %d", i+1);


    }

  10. #10
    Andpri devo ammettere che sei un ottimo motivatore
    questo é il codice funzionante
    #include<stdio.h>


    int main(){





    //dichiarazioni





    int i,n;
    float media=0;







    //acquisizione dati





    printf("inserire il numero di voti : ");


    scanf("%d",&n);








    //dichiarazioni condizionate





    int voti[n];








    //calcoli





    for(i=0;i<n;i++){


    printf("inserire il voto numero %d : ",i+1);


    scanf("%d",&voti[i]);


    }


    for(i=0;i<n;i++)


    media += voti[i];


    media /= n;


    for(i=0;i>media;i++)

    printf("I voti piú alti della media sono %d", i+1);





    //visualizzazione risultati



    printf("la media dei voti e` %f\n",media);

    printf("I voti piú alti della media sono %d", i+1);


    }

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.