Pagina 2 di 6 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 51
  1. #11
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da InferNOS
    Ora ci siamo???
    codice:
    #include <stdio.h>
    #define MAX 100
    
    int i,n;
    float media,v[MAX];
    
          float CalcolaMedia(float v[], int n)
          {       
                media = 0;
                 for(i=0; i<n; i++)
                          media = media + v[i];
                          media = media/n; 
                return(media);
          }
    main()
    {
           printf("Specificare gli elementi dell'array: ");
           scanf("%d", &n);
           printf("\n");
     
          for(i=0; i<n; i++){
                   printf("Array[%d]: ", i+1);
                   scanf("%f", &v[i]);
                   }   
          media = CalcolaMedia(v, n);
          printf("\nMedia: %f\n", media);
    }
    Dal punto di vista della sintassi, va bene (a parte l'indentazione che fa pena!). Non va bene il fatto che hai usato variabili globali. Se 'media' è globale, che senso ha la funzione che restituisce il valore di quella variabile globale???
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  2. #12
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81
    codice:
    #include <stdio.h>
    #define MAX 100
    
    float CalcolaMedia(float v[], int n)
    {
          int i;
          float media;
                 
          media = 0;
          for(i=0; i<n; i++)
                  media = media + v[i];
                  media = media/n; 
                
                return(media);
          }
    
    main()
    {
           int i,n;
           float v[MAX],media;
           
           printf("Specificare gli elementi dell'array: ");
           scanf("%d", &n);
           printf("\n");
     
           for(i=0; i<n; i++){
                    printf("Array[%d]: ", i+1);
                    scanf("%f", &v[i]);
                    }   
          media = CalcolaMedia(v, n);
          printf("\nMedia: %f\n", media);
    }
    così va meglio??
    Se 'media' è globale, che senso ha la funzione che restituisce il valore di quella variabile globale???
    Potresti essere + chiaro??Che vuol dire ke nn posso utilizzare globali?

  3. #13
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    No che non va bene ... scusa ma ... ... ti avevo fornito BELLA E PRONTA la funzione nella mia risposta ... ma vedo che tu ne hai messo un'altra ...

    In particolare, hai visto il contenuto della for nella mia e nella tua?

    E come si puo' essere piu' chiari nel dire che non devi utilizzare variabili globali dato che tutte quelle che ti servono sono gia' dichiarate nel main e nelle funzioni?

    A questo punto credo che il sorgente iniziale non sia neanche stato scritto da te e che il tuo problema non sia quello di scrivere funzioni ...

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81
    No che non va bene ... scusa ma ... ... ti avevo fornito BELLA E PRONTA la funzione nella mia risposta ... ma vedo che tu ne hai messo un'altra ...

    In particolare, hai visto il contenuto della for nella mia e nella tua?

    E come si puo' essere piu' chiari nel dire che non devi utilizzare variabili globali dato che tutte quelle che ti servono sono gia' dichiarate nel main e nelle funzioni?

    A questo punto credo che il sorgente iniziale non sia neanche stato scritto da te e che il tuo problema non sia quello di scrivere funzioni ...
    Nono nn sn il tipo ke si fa scrivere programmi dagli altri anche a costo di nn farlo cerco di farlo da solo..chiedo solo aiuti cosi cm sta fecendo con voi..è ke informatica (faccio ing) l'ho iniziata da poco (1 mesetto scarso..) e ke fortunatamente io qlcs del C già lo conoscevo dato ke un anno fa me l'ero studiato un pò su un libro da autodidatta..ecco perchè ho problemi con le funzioni (il libro le spiega male..nn parliamo del prof..) e sinceramente sul libro nn c'è una spiegazione sulle variabili (metterle globali o non)..
    si avevo fatto caso ke il tuo codice è uguale al mio postato poco sopra solo ke volevo seguire il tuo codice dando uno sguardo sul libro ke ho io..appunto nn capivo niente..cioè x esempio solo ora ho capito ke la funzione si fa cs cm me l'avete spiegata voi e va messe prima del main..
    x le variabili globali non capisco xkè nn posso metterle..così le devo dichiarare ognuna nelle funzioni (la mia e la main)..inzomma spiegatemi un pò ke differenza c'è..
    scusate la lunghezza del post ma volevo farvi capire la mia situazione!

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Intanto un favore personale ... cerca di scrivere nel forum senza usare il dialetto da sms, dato che questo non e' un cellulare e hai tutto lo spazio a disposizione per inserire le lettere e la punteggiatura corrette ... e' proprio una questione di leggere agevolmente quello che dici e non dovere avere anche la difficolta' di interpretare la scrittura oltre al problema.

    In secondo luogo, proprio perche' hai iniziato ingegneria informatica, penso che dovresti applicarti molto di piu' nel cercare di comprendere appieno quello che stai scrivendo.

    Forse non mi sono spiegato quando ti ho detto della funzione che ti avevo mostrato e che e' *differente* da quella che, alla fine, hai scritto tu. Intendevo dire che dovevi inserire *quella* che ti ho indicato cosi' com'era, senza modificarla ...

    Se e' da un po' che hai iniziato a studiare il C per ingegneria informatica, e sei alle funzioni, non puoi non avere chiaro il concetto di "variabile globale" e "variabile locale", altrimenti ti consiglio di fermarti e ripassare tale concetto, magari su altri libri.
    In particolare, non devi utilizzare variabili globali perche' stai *gia'* utilizzando variabili locali per fare quanto ti serve, quindi quelle globali sono inutili (oltre al fatto che, se non l'hai letto lo troverai piu' avanti, l'utilizzo di variabili globali non e' consigliato appunto per motivi che vedrai nel corso futuro del tuo studio).

  6. #16
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81
    Si hai ragione..è che pure su messenger mi sto abituando a scrivere così...
    Cmq quindi l'ultimo codice che ho postato è sbagliato o giusto?
    PS: nn faccio ingegneria informatica ma medica che comunque prevede un esame di informatica..quindi il prof mi sembra molto "sbrigativo" nelle spiegazioni..

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Va bene ma scrivila piu' chiaramente allineando le parentesi { e } della funzione ed evidenziando la riga che sta sotto la for e quella che non ci sta ...

    codice:
    #include <stdio.h>
    #define MAX 100
    
    float CalcolaMedia(float v[], int n)
    {
          int i;
          float media;
                 
          media = 0;
          for(i=0; i<n; i++)
                  media = media + v[i];
    
          media = media/n; 
                
          return(media);
    }
    
    main()
    {
           int i,n;
           float v[MAX],media;
           
           printf("Specificare gli elementi dell'array: ");
           scanf("%d", &n);
           printf("\n");
     
           for(i=0; i<n; i++){
                    printf("Array[%d]: ", i+1);
                    scanf("%f", &v[i]);
                    }   
          media = CalcolaMedia(v, n);
          printf("\nMedia: %f\n", media);
    }

  8. #18
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81
    Ok ti ringrazio per gli aiuti!

  9. #19
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    81
    Rieccomi!!
    Ancora co ste benedette funzioni..allora ho fatto un programma tempo fa ke mi calcola trasposta,somma e prodotto di matrici..è uscito fuori un programmino abbastanza lunghetto quindi ora con le funzioni volevo provare ad accorciarlo (eliminando tutta la miriade di cicli for mettendoli appunto in qualche funzione..)..per ora sto operando solo sul caricamento di una matrice dopodichè faro tutto il resto..allora ecco il codice:
    codice:
    #include <stdio.h>
    #define MAXR 1000
    #define MAXC 1000
    
    void LoadingMatrix(float m[][10], int u, int v)
    {
          int i,j;
          
          for(i=0; i<u; i++)
              for(j=0; j<v; j++){
                       printf("Mat[%d][%d]: ",i,j);
                       scanf("%f", &m[i][j]);
                       }
    }
    
    main()
    {
          int i,j,u,v;
          float m[MAXR][MAXC];
          
          printf("Specificare le righe delle matrici: ");
          scanf("%d", &u);
          printf("Specificare le colonne delle matrici: ");
          scanf("%d", &v);
          printf("\n");
          printf("CARICAMENTO PRIMA MATRICE\n\n");
          
          LoadingMatrix(m, u, v);
    }
    Dev c++ addirittura non lo compila..dove sbaglio?E' chiaro quello che voglio fare?

  10. #20
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da InferNOS
    Dev c++ addirittura non lo compila..dove sbaglio?E' chiaro quello che voglio fare?
    Questione legata alla dimensione della matrice.

    Se nel main hai float m[MAXR][MAXC] cioè float m[1000][1000], allora non è affatto compatibile il parametro float m[][10] della funzione!!!

    La domanda quindi è:
    a) Vuoi che la funzione sia "generica" e possa trattare matrici di qualunque dimensione (che so, 10x10, 100x20, 1000x1000)??? Allora bisogna cambiare il modo di gestione della matrice.

    b) Vuoi avere sempre a che fare con una matrice 1000x1000 anche se poi magari ne usi solo una sezione??? Allora dichiara il parametro come float m[MAXR][MAXC].
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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