Aiuto correzioni programma in C

di il
5 risposte

Aiuto correzioni programma in C

Ciao a tutti, sono nuova di qui, mi sono iscritta sperando che qualcuno di voi mi aiuti a preparare il mio esame di programmazione in linguaggio C correggendo gli esercizi che vi mostrerò quando non mi escono... saranno parecchi già lo immagino!
Il primo è questo:
/* 4.14: scrivere prog che richieda all'utente i voti delle otto prove 
   sostenute durante l'anno da 18 studenti di una classe e calcoli la media
   di ogni studente, la media di ogni prova e la media globale. Il prog dovrà
   infine visualizzare l'intera matrice e la media globale */
   
#include <stdio.h>
#include <stdlib.h>
#define STUDENTI 18
#define PROVE 8

main()
{
      int i, j, A[STUDENTI+1][PROVE+1], media=0;
      
      for(j=0; j<PROVE; j++)
      {
               printf("Inserire i voti degli studenti nella prova %d:\n",j+1);
               for(i=0; i<STUDENTI; i++)
                        scanf("%d", &A[i][j]);
      }                  
      
      /* media per ogni prova */         
      for(j=0; j<PROVE; j++)
      {
               A[STUDENTI+1][j]=0;
               for(i=0; i<STUDENTI; i++)
                        A[STUDENTI+1][j]=A[STUDENTI+1][j]+A[i][j];
               A[STUDENTI+1][j]=A[STUDENTI+1][j]/STUDENTI;
      }
      
      /* media per ogni studente */
      for(i=0; i<STUDENTI; i++)
      {
               A[i][PROVE+1]=0;
               for(j=0; j<PROVE; j++)
                        A[i][PROVE+1]=A[i][PROVE+1]+A[i][j];
               A[i][PROVE+1]=A[i][PROVE+1]/PROVE;
      }
      
            printf("La matrice e':\n");
      for(i=0; i<(STUDENTI+1); i++)
      {
               printf("\n");
               for(j=0; j<(PROVE+1); j++)
                        printf("%5d", A[i][j]);
      }                  
      
      for(i=0; i<STUDENTI; i++)
               for(j=0; j<PROVE; j++)
                        media=media+A[i][j];                                  
      media=media/(STUDENTI*PROVE);
      
      printf("\nLa media globale e': %d", media);      
      
      printf("\n");
      system("PAUSE");
      return 0;
}
Spero che mi possiate aiutare perchè è da stamattina che provo e riprovo ho definisto le costanti STUDENTI e PROVE per poter diminuire i numeri a mio piacimento e quindi verificare l'esercizio senza inserire 18 voti x 8prove.

5 Risposte

  • Re: Aiuto correzioni programma in C

    Hai fatto un po' di casini con gli indici e la dimensione della matrice
    Ecco la correzione
    
    main()
    {
          int i, j, A[STUDENTI+1][PROVE+1], media=0;
         
          for (i = 0; i <= PROVE; i++){
    	   for (j = 0; j <= STUDENTI; j++){
    		A[j][i] = 0;
    	   }
         }
    
    	
          for(j=0; j<PROVE; j++)
          {
                   printf("Inserire i voti degli studenti nella prova %d:\n",j+1);
                   for(i=0; i<STUDENTI; i++)
                            scanf("%d", &(A[i][j]));
          }                 
         
    
          
          /* media per ogni prova */         
          for(j=0; j<STUDENTI; j++)
          {
    	      
    	      for (i = 0; i < PROVE; i++){
    		      
    		      A[j][PROVE] += A[j][i];
    		      
    	      }
    	      
    	      A[j][PROVE] /= PROVE;
    	      
          }
          
          /* media per ogni studente */
          for(j=0; j<=PROVE; j++)
          {
    	      
    	       for (i = 0; i < STUDENTI; i++){
    		      
    		      A[STUDENTI][j] += A[i][j];
    		      
    	      }
    	      
    	      A[STUDENTI][j] /= STUDENTI;
    	      
          }
          
        for (i = 0; i <= PROVE; i++){
    	for (j = 0; j <= STUDENTI; j++){
    		printf("%d ", A[j][i]);
    	}
    	printf("\n");
         }
         
      
          system("PAUSE");
          return 0;
    }
    
  • Re: Aiuto correzioni programma in C

    Ciao,il link che ti scrivo è quello del mio canale youtube dove ho pubblicato video sulla programmazione in c :http://www.youtube.com/user/RichieSlash9.

    Cmq quoto INTEL per la correzzione che ti ha fatto ..
  • Re: Aiuto correzioni programma in C

    Grazie Intel non me n'ero proprio accorta che il problema erano gli indici la prox volta cercherò d stare più attenta!

    e grazie anke a MarioProgrammer, ho visto il video utile xkè all'esame in uno degli esercizi devo proprio lavorare cn fopen e fclose, sl ke dovrò creare una struttura per inserire ad esempio nome, cognome, età di un certo numero d impiegati e poi fare altre verifiche sull'elenco che creo. Sbircierò se tra i tuoi video c'è qlcs ke m possa aiutare.

    Ancora grazie ad entrambi XD
  • Re: Aiuto correzioni programma in C

    Figurati, alla prossima!!
  • Re: Aiuto correzioni programma in C

    Se hai bisogno di qualcosa in particolare chiedi pure ,cercherò di accontentarti Se sei iscritto a youtube potresti iscriverti anche al canale? grazie
Devi accedere o registrarti per scrivere nel forum
5 risposte