Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168

    [C] devo fare una funzione...sono newbie

    salve ho questo codice:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #define DIM_LOC 3
    #define N_MAX 10
    
    
    int
    main (void)
    { 
    int vett_masse[N_MAX];
    int mat[N_MAX][DIM_LOC]; 
    FILE *fp; 
    int f,n,i; 
    char s [30]; 
    float totmasse = 0;
    float cx = 0, c1 = 0, cy = 0, c2 = 0, cz = 0, c3= 0;
    
    /* Apri il file che contiene i dati */
         if(( fp = fopen ("points.dat","r")) == NULL)
    { 
              printf("\nNon Posso aprire il file.\nFile mancante nella directory.\n"); 
         }else
    { 
    
    /* Leggi la prima riga (n = numero di elementi) */
       fgets (s,30,fp); 
       sscanf (s,"%d",&n); 
    
    
    /* Ciclo per stampare la matrice della locazione*/
     printf    (" Locazione:\n");
     
        for (f=0;f<n;f++) 
    { 
       fgets (s,30,fp); 
       sscanf (s,"%d %d %d %d\r\n", &mat[f][0],&mat[f][1],&mat[f][2],&vett_masse[f]); 
               
       printf    ("               %d %d %d \n\n", mat[f][0],mat[f][1],mat[f][2]);
     
         }
       
       printf    (" Masse:\n\n");
         /* Ciclo per stampare la colonna delle masse */     
         for (f=0;f<n;f++) 
    { 
       printf    ("               %d\n\n", vett_masse[f]);
          
          totmasse = totmasse + vett_masse[f];
         }  
           
         /* Stampare il numero */
       printf    (" n:\n               %d\n\n", n);
     
         for (f=0;f<n;f++)
    {
    	c1=c1 + (vett_masse[f] * mat[f][0]);
    	c2=c2 + (vett_masse[f] * mat[f][1]);
    	c3=c3 + (vett_masse[f] * mat[f][2]);
         }
        
        cx = (1/totmasse)*(c1);
        cy = (1/totmasse)*(c2);
        cz = (1/totmasse)*(c3);
        
        printf("IL CENTRO DI GRAVITA E' C(%.3f, %.3f, %.3f)\n\n" , cx, cy, cz );   
       
    }/*chiude l'else*/
    
    system("pause");
    return(0);
    }

    dovrei creare 3 funzioni ovvero dividere il programma in 3:
    la prima "get" la quale prende il file di inpute il massimo valore di n come parametri e inserisce inserisce l'array bidimensionale(mat) come parametro di output e l'array monodimensionale(vett_masse) come parametro di output. ritorna come valore della funzione il valore attuale della n.

    grazie mille a colui che mi risponderà

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Siccome sei newbie ti invito a leggere ilRegolamento del forum.

    I titoli devono dare un'informazione veloce sul tema trattato nella discussione.
    Quindi il tuo non è propriamente conforme.

    Per questa volta lo modifico io.


    P.S.: Potresti rispiegare esattamente quello che ti serve? Io non ho capito gran ché.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    scusami...non l'ho fatto apposta...
    ho fatto quel codice... alla fine m chiede di implementare 3 funzioni...la prima è una funzione get_mass che prende il file di input e il massimo valore di n come parametri e inserisce un'array bidimensionale come parametro di output con una matrice di locazione e lun'array monodimensionale come parametro di output con il vettore delle masse dal file. ritorna come valore della funzione il valore attuale della n.
    sinceramente non l'ho capita sta traccia...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    vi prego aiutatemi sono bloccato...

  5. #5
    Scusa ma non riesco ad afferrare il problema ...
    Puoi scrivere per intero la traccia ?
    Experience is what you get when you don’t get what you want

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    il codice che ho creato va diviso in 3 funzioni...

    nel main dovrei avere 3 funzioni...una per leggere, una per fare il calcolo e una per scrivere....

    allora la prima funzione si deve chiamare fget_point_mass:

    deve prendere il massimo valore di n come parametro, il valore dell'array mat e dell'array vett_masse come parametri di output.
    la funzione deve ritornare il valore attuale della n.

    la seconda funzione si deve chiamare center_grav:

    deve prendere le i valori di mat, vet_masse e n come parametri. poi fare i calcoli e ritornare il valore del centro di gravità (cx cy cz).

    la terza funzione fwrite_point_mass :

    deve stampare a video mat, vett_masse, n e il centor di gravità...


    spero di essere stato più chiaro...vi prego aiutatemi

  7. #7
    Io continuo a non capire dove stia il problema: non sai creare una funzione?
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    non so creare le funzioni...sto cercando di capire come si fa...

  9. #9
    http://programmazione.html.it/guide/leggi/34/guida-c/

    Vedi anche di imparare il TOP-DOWN ...
    Experience is what you get when you don’t get what you want

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    se qualcuno può essere cosi gentile da farmi capire come posso fare con il mio programma gliene sarei grato...

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.