Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #1

    Somma Righe Matrice Java

    Salve ragazzi ho un problema su un programma un po contorto in java che sto facendo (come compito per scuola):

    codice:
    import java.util.Scanner;
    
    public class Pino 
    {
        static Scanner o = new Scanner(System.in);
    
    
        public static void main(String[] args) 
        {
            
        
            int NC;
            int NR;
            System.out.println("Inserisci  Numero Righe");
            NR = o.nextInt();
            System.out.println("Inserisci  Numero Colonne");
            NC = o.nextInt();
            
            int NRV=NR-1;
            int NCV=NC-1;
           
            
            String[][] mat = new String[NR][NC];
            int [][]matv= new int [NRV][NCV];
            float [][]mat_f= new float[NRV][NC];
            Carica_Nomi(mat,NR);
            Carica_Materie(mat,NR,NC);
            Carica_Voti(matv,NRV,NCV);
            voto_q(mat_f,matv,NRV,NC);
          }
        
        
        static void Carica_Nomi (String mat[][],int nr)
        {
           int i=0, j=0;
            while(i<nr-1)
            {
        
                for(i=1;i<nr-1;i++)
                {
                    System.out.println("["+i+"]=>");
                    
                    mat[i][j]=o.next();
                      
                }
                System.out.print(mat[i][j]+" " );
            }
        }
            
            
            
            
            
            
        static void Carica_Materie (String mat[][],int nr,int nc)
        {
         int i=0, j=0;
          while(j<nc)
          {
    
            for(j=1;j<nc;j++)
            {
                System.out.println("["+j+"]=>");
                
                mat[i][j]=o.next();
            }
          }
        
        }
        
        static void Carica_Voti (int matv[][], int nrv, int ncv )
        {
            int i,j;
            for(i=1;i<nrv;i++)
            {
                System.out.println(i+") Alunno");
                for(j=0;j<ncv;j++)
                {
                    System.out.println("["+(j+1)+"]=>");
                    
                    matv[i][j]=o.nextInt();
                    
                }
            }
                    
        }
        
        
        static void voto_q (float mat_f[][],int matv[][], int nrv, int nc)
        {
            int i,j;
            float somma=0;
            for(i=1;i<nrv;i++)
            {
                
                for(j=1;j<nc;j++)
                {
                    somma+=(matv[i][j]);
                }
            
                mat_f[i][nc-1]=somma;
            }                                    
            
        }
        
        
        
        static void voto_d (float mat_f[][],int nrv, int nc )
        {
            int i;
            float dec=0;
            for(i=1;i<nrv;i++)
            {
               dec=(mat_f[i][nc-1]*10)/15;
               mat_f[i][nc]=dec;
            }            
        }
        
        
       
        
    }

    Cosa dorebbe fare ho una griglia dove devo inserire i voti degli alunni per varie materie sono 8 colonne e 8 righe la prima colonna contiene i nomi degli studenti la prima riga il titolo di ogni colonna Nomi poi le varie materie matematia storia eccfino alle ultime due colonne che devono contenere la somma dei voti per riga di ogni materia uno in quindicesimi l'altro in decimi cosa faccio io:

    Funzione carica nomi per inserire i nomi degli alunni faccio l'inserimento da n-1 visto che nella prima riga c'è il titolo della colonna quindi sarebbe


    Nomi (n-1 perchè non la conto)
    Paolo
    Pippo
    Pino


    Funzione carica materie dove scrivo i nomi delle varie materie nel for ho messo j = 1 che sarebbe il contatore delle colonne lo faccio partire da 1 perchè nella prima riga della prima colonna c'è il il NOME ovvero il titolo della prima colonna quindi sarebbe


    Nomi [Matematica ] [storia] [ inglese] ecc ecc
    Paolo
    Pippo
    Pino


    Poi carico i voti ed ecco a cosa ho pensato dichiaro int NRV=NR-1 int NCV=NC-1; che passerò alla funzione caricavoti in modo che parta da numero colonna e riga -1 ovvero gli spazi vuoti visto che nella prima riga c'è il "titolo" delle colonne e nella prima colonna i nomi degli alunni dovrebbe essere cosi


    Nomi [Matematica ] [storia] [ inglese] ecc ecc
    Paolo 6
    Pippo 7
    Pino 7 ecc ecc

    il problema è nella funzione somma ovvero non mi fa la somma delle righe ho cercato su vari siti ma nulla la sintassi è quella solo che non riesco a capire perchè mi da errore come posso fare
    Ultima modifica di LeleFT; 15-04-2016 a 12:46 Motivo: Aggiunti i tag CODE

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 © 2025 vBulletin Solutions, Inc. All rights reserved.