Annuncio

Collapse
No announcement yet.

trova l'errore c, parte quarta

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts

  • trova l'errore c, parte quarta

    #include <stdio.h>

    /* Calcolo media voti per studente e per prova /*

    #define n 4
    #define m 5

    float voti [n][m];

    main()
    {
    int i, j;
    printf("Caricamento dei voti\n\n");
    m=m-2
    for(i=0; i<n; i++)
    for(j=0; j<m-2; j++)
    {
    printf("Ins. studente %d prova %d: ", i,j);
    scanf("%f", &vot[i][j]);
    }

    /*calcolo medie x studente */
    for(i=0; i<n, i++)
    {
    voti[i-1][m] = 0;
    for(j = 0; j<m; j++);
    voti[i-1][m] = voti[i-1][m] + voti[j][i];
    voti[i-2][m] = voti[i-2][m] = voti[i-1][m] \ (m-1)
    }
    /* calcolo medie x prova */
    for(j=0); j>m;j++)
    {
    voti[n-1][j] = 0;
    for(i=0; i<n+1; i++):
    voti[n-1][j] = voti[n-1][j] + voti[i][j];
    voti[n-1][j] = voti[n-1][j] / (n-1);
    }

    printf("\n\n\t\j VISUALIZZAZIONE DELLA MATRICE");
    for(i=0; i<n; i++)
    {
    printf("\n");
    for(j=0; j<m; j++)
    printf("%8.3f", voti[i][j]);

    }

    }




    ora sfido qualsiasi sano di mente inclusi derfel e sirbonea risolvere questo enigma di programmazione, dove ci sono errori di runtime e errori fisici di cui si ci può accorgere con un compilatore.
    qualsiasi errore fisico verrà trovato verrà sottolineato e colorato nel testo originale per quelli di runtime verranno scritti nuovi post.
    adesso per darvi una mano vi scrivo anche l'outputdi questo casino ( in versione corretta ) con una trentacinquina ( si può dire no? ) di errori:


    OUTPUT:
    Ins. studente 1 prova 1: 4
    Ins. studente 1 prova 2: 5
    Ins. studente 1 prova 3: 4
    Ins. studente 1 prova 4: 7
    Ins. studente 2 prova 1: 8
    Ins. studente 2 prova 2: 10
    Ins. studente 2 prova 3: 8
    Ins. studente 2 prova 4: 10
    Ins. studente 3 prova 1: 6
    Ins. studente 3 prova 2: 7
    Ins. studente 3 prova 3: 8
    Ins. studente 3 prova 4: 6


    VISUALIZZAZIONE DELLA MATRICE

    4.000 5.000 4.000 7.000 5.000
    8.000 10.000 8.000 10.000 9.000
    6.000 7.000 8.000 6.000 6.750
    6.000 7.333 6.667 7.667 6.917


    bando alle ciance e programmate!

    p.s.
    il primo che c'è la farà avrà un regalino da parte mia
    sigpic

  • #2
    [QUOTE=clank;518351]#include <stdio.h>

    #define n 4
    #define m 5

    float voti [n][m];

    main()
    {
    int i, j;
    printf("Caricamento dei voti\n\n");
    m=m-2
    for(i=0; i<n; i++)
    for(j=0; j<m-2; j++)
    {
    printf("Ins. studente %d prova %d: ", i,j);
    scanf("%f",&vot[i][j]); //trattandosi di un vettore & viene omessa
    }

    /*calcolo medie x studente */
    for(i=0; i<n, i++)
    {
    voti[i-1][m] = 0; con [i-1]
    for(j = 0; j<m; j++); il ;
    voti[i-1][m] = voti[i-1][m] + voti[j][i];
    voti[i-2][m] = voti[i-2][m] = voti[i-1][m] \ (m-1) manca il ;
    }
    /* calcolo medie x prova */
    for(j=0); j>m;j++)
    {
    voti[n-1][j] = 0;
    for(i=0; i<n+1; i++):
    voti[n-1][j] = voti[n-1][j] + voti[i][j];
    voti[n-1][j] = voti[n-1][j] / (n-1);
    }

    printf("\n\n\t\j VISUALIZZAZIONE DELLA MATRICE");
    for(i=0; i<n; i++)
    {
    printf("\n");
    for(j=0; j<m; j++)
    printf("%8.3f", voti[i][j]);

    }
    }
    [\QUOTE]
    c'è acnhe un errore nel primo commento... il commento va tra /*---------------*/
    Last edited by Darkito; 14 September 2006, 14:14.

    sigpic
    Max Pezzali Mania
    ---> http://www.maxpezzalimania.it

    Comment


    • #3
      poi c'&#232; scritto vot invece che voti e ora trovate gli errori di runtime, quelli sono difficilissimi
      sigpic

      Comment


      • #4
        La condizione nel secondo for di inserimento dovrebbe essere j<m-1 o j<=m-2 e non j<m-2 perchè senno prendi soltanto i voti di tre prove e non di quattro
        Nel primo for la condizione deve essere i<n-1 perchè l'ultima posizione del vettore è riservata alle medie.
        E per l'inserimento dovremmo essere a posto. Ovvero il codice è
        #define n 4
        #define m 5
        float voti [n][m];
        main()
        {
        int i, j;
        printf("Caricamento dei voti\n\n");
        for(i=0; i<n-1; i++)
        for(j=0; j<m-1; j++)
        {
        printf("Ins. studente %d prova %d: ", i+1,j+1);
        scanf("%f",voti[i][j]);
        }
        Passiamo alla media x studente.Scrivo direttamente il codice poichè mi secco a commentare

        for(i=0; i<n-1; i++)
        {
        for(j = 0; j<m-1; j++)
        voti[i][m-1] += voti[i][j];
        voti[i][m-1] /= (m-1);

        }
        Passiamo alla media delle prove
        for(j=0; j<m-1;j++)
        {
        for(i=0; i<n-1; i++)
        voti[n-1][j]+= voti[i][j];
        voti[n-1][j]/=(n-1);
        }
        La routine di visualizzazione è corretta...

        sigpic
        Max Pezzali Mania
        ---> http://www.maxpezzalimania.it

        Comment


        • #5
          Guardali i miei ragazzi
          http://img46.imageshack.us/img46/3987/userbarer7.jpg





          http://gamesurf.tiscali.it/forum/sig...gpic6655_7.gif

          Comment


          • #6
            Originariamente Scritto da Derfel Visualizza Messaggio
            Guardali i miei ragazzi
            eh, devi ammettere che il tempo si ci perdeva, nn era come bere un bicchiere d'acqua
            sigpic

            Comment

            Working...
            X