Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Perchè N-1? N andava benissimo. Non c'entra che C/C++ indicizzino gli array partendo da zero e quindi l'ultimo elemento ha indice N-1. Per ottenere la media non devi dividere per quest'indice ma per il numero di totale di valori, che appunto è N.

    Detto questo, perchè ci sono due for nella funzione se vuoi sommare una singola colonna?

    Ho visto quello che intendevi fare, dato che c'è

    codice:
    sum[j]=somma;
    ma C++ non funziona mica così. In quella funzione tu calcoli la somma della prima colonna, poi la assegni a sum[j], intanto però non hai riazzerato somma, per cui alla seconda iterazione somma conterrà la somma precedente più la somma dei valori della seconda colonna

    Alla fine scorri tutte le colonne della matrice e ritorna e solo l'ultima sum[j], cioè la somma dell'ultima colonna ( che poi non è nemmeno così perchè non riazzeri somma ad ogni iterazione del for esterno ).

    Quella funzione o calcola le somme per ogni colonna, mettendole in un vettore, ma poi deve ritornare il vettore.

    Oppure la chiama per ogni colonna, gli passi l'indice della colonna in questione e la funzione calcolerà esclusivamente la somma della colonna interessata. Poi chi riceve tale somma farà la media e la sommerà alle medie delle colonne precedenti.

  2. #2
    Utente di HTML.it L'avatar di francesco.ricca
    Registrato dal
    Feb 2018
    residenza
    Napoli
    Messaggi
    13
    Quote Originariamente inviata da paolino_delta_t Visualizza il messaggio
    Quella funzione o calcola le somme per ogni colonna, mettendole in un vettore, ma poi deve ritornare il vettore.

    Oppure la chiama per ogni colonna, gli passi l'indice della colonna in questione e la funzione calcolerà esclusivamente la somma della colonna interessata. Poi chi riceve tale somma farà la media e la sommerà alle medie delle colonne precedenti.
    è questo il punto, il compito vuole la somma della media dei valori di ogni colonna, la mia idea qual'era quindi, creare una funzione somma, in cui pongo in un vettore il valore somma colonna 1; somma colonna 2, somma colonna3, etc.

    in modo che, ponendo poi il tutto in un ciclo for, e dividendo il valore per N, riottenevo la media di ogni singola colonna ed infine, sommavo i valori di questo vettore.

    Spiegami meglio come lo vedi tu perfavore
    "Chi dice che è impossibile non dovrebbe disturbare chi c'è la sta facendo."
    -Albert Einstein

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    La funzione che fa la somma deve prevedere una sola for. Con quella devi fare la scansione di tutta la colonna, dalla prima all'ultima riga. La colonna resta fissa e indicata dal secondo parametro passato che non deve essere int N ma int col. La chiamata sarà

    media = sommaColonne(mat, j)/N;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Quote Originariamente inviata da francesco.ricca Visualizza il messaggio
    è questo il punto, il compito vuole la somma della media dei valori di ogni colonna, la mia idea qual'era quindi, creare una funzione somma, in cui pongo in un vettore il valore somma colonna 1; somma colonna 2, somma colonna3, etc.

    in modo che, ponendo poi il tutto in un ciclo for, e dividendo il valore per N, riottenevo la media di ogni singola colonna ed infine, sommavo i valori di questo vettore.

    Spiegami meglio come lo vedi tu perfavore
    Ho capito cosa volevi fare. Sommare tutti gli elementi della matrice per poi dividere. Si può fare, ma ovviamente va diviso tutto per N*N.

    Cioè tu hai per ogni colonna una somma Cn che normalmente divideresti per N per ottenere la media della colonna, quindi Cn/N.

    Poi sommi i vari Cn/N, cioè C1/N + C2/N + ... + Cn/N, ovvero c'hai la somma dei valori in tutte le colonne ma poi devi fare N divisioni per N, cioè dividere per N*N.

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.