Programma ANSI C

di il
52 risposte

52 Risposte - Pagina 4

  • Re: Programma ANSI C

    Mi continua a dare errore...xke???
    /* deviazione standard */
    
      for(riga1=0;riga1<n_rc;riga1++){
         for(colonna1=0;colonna1<n_rc;colonna1++){
              acc1 = pow((matrice1[riga1][colonna1]-medio1),2.0f);
              accumulatore6+=acc1;
         }
      }
      devs1=sqrt(double(double(accumulatore6)/double(n_el)));
      printf("il valore della deviazione standard della matrice A %f\n", devs1);  
  • Re: Programma ANSI C

    Posta il programma completo e vediamo dov'è sto errore.
  • Re: Programma ANSI C

    Ho risolto...m ero scordata il -lm quando gli davo il comando x compilare...grazie mille!!!
  • Re: Programma ANSI C

    Ho iniziato a suddividere il programma in funzioni, le quali sono contenute in una libreria... le funzioni sono:
    
    /********************************/
    /* dichiarazione delle funzioni */
    /********************************/
    
    void acquisizione(int **matrice1, int **matrice2);
    int traccia();
    void trasposta(int **matrice1T, int **matrice2T);
    void prodotto(int **matriceP);
    int massimo();
    int minimo();
    int medio(int);
    int dev_standard();
    nella prima e nella terza non so come comportarmi xche come valore di ritorno ho ben 2 matrici...il mio dubbio e sulla dischiarazione e sopratutto sul RETURN(?????);
    void acquisizione()
    {
    
       int riga1,                   /* identificano le righe delle due matrici */
           riga2;
       int colonna1,                /* identificano le colonne delle due matrici */
           colonna2;
       int esito lettura;           /* LAVORO: esito lettura */
       int n_rc;                    /* contiene il numero di righe/colonne delle matrici */
       int **matrice1,              /* matrice A */
           **matrice2;              /* matrice B */
       int i,                       /* contatori utilizzati nel riempimento delle due matrici */
           k;
       FILE *a,                     /* variabile che identifica i file che contengono le due matrici */
            *b;
       char carattere_non_letto;    /* LAVORO: carattere non letto */
    
    
    /* acquisizione del numero di righe e colonne con VALIDAZIONE */
    
       do
       {
    	printf("Digita il numero ri righe che deve avere la matrice (0 < ) ");
    	esito_lettura = scanf("%d",
    		              &n_rc);
       
    	if (esito_lettura != 1 || n_rc < 0)
    	{
    		do
    		{
    			carattere_non_letto = scanf("%c",
    			                            &carattere_non_letto);
    		}
    		while (carattere_non_letto != '\n');
    	}
       } while (esito_lettura != 1 || n_rc < 0);
    
       /* apertura dei file */
       a = fopen("matrice_A.txt", "r");
       b = fopen("matrice_B.txt", "r");
    
       /* creazione e riempimento delle due matrici */
       /* matrice A */ 
       matrice1 = (int**)calloc(n_rc, sizeof(int*));
    
       for(i = 0; i < n_rc; i++)
         	matrice1[i] = (int*)calloc(n_rc,sizeof(int));
    
       for(riga1=0; riga1<n_rc; riga1++)
       {
    	for(colonna1=0; colonna1<n_rc; colonna1++)
    	{
    		fscanf(a, "%d", &matrice1[riga1][colonna1]);
    	}
       }  
    
       /* matrice B */
       matrice2 = (int**)calloc(n_rc, sizeof(int*));
    
       for(k = 0; k < n_rc; k++)
    	matrice2[k] = (int*)calloc(n_rc,sizeof(int));
    
       for(riga2=0; riga2<n_rc; riga2++)
       {
    	for(colonna2=0; colonna2<n_rc; colonna2++)
    	{
    		fscanf(b, "%d", &matrice2[riga2][colonna2]);
    	}
       }  
    
       /* chiusura dei file */
       fclose(a);
       fclose(b);
    
       /* stampa a video delle matrici */
       printf("la matrice A è:\n");
       for(riga1=0; riga1<n_rc; riga1++)
       {
    	for(colonna1=0; colonna1<n_rc; colonna1++)
    		printf("%d\n ", matrice1[riga1][colonna1]);
       }
    
       printf("\n");
    
       printf("la matrice B è:\n");
       for(riga2=0; riga2<n_rc; riga2++)
       {
    	for(colonna2=0; colonna2<n_rc; colonna2++)
    		printf("%d\n ", matrice2[riga2][colonna2]);
       }
    
       printf("\n");
    return(COSA???);
    }
    
    per le altre ha come valore di ritorno un semplice intero quindi ci sono... e anche il prodotto xke ha un solo valore di ritorno...ma x la prima e la treza dove sono 2 non so come comportarmi...
  • Re: Programma ANSI C

    Hai PM.
  • Re: Programma ANSI C

    Non ci voglio credere!!! sono disperata...a relazione pronta, rileggendo le specifiche del prof leggo: "DEVE ESSERE PRIVO DI VARIABILI GLOBALI"... io ho ben 4 variabili globali................. 3 di queste vengono create nella prima funzione e utilizzate in tutte le altre!!! come cavolo faccio a passarle tutte??? oddio sono in crisi neraaaaaaaaaaaaaa!!!!!!!
  • Re: Programma ANSI C

    Deadline?
  • Re: Programma ANSI C

    Cm sei riuscito a risolvere il problema della divisione in funzioni? grazie
Devi accedere o registrarti per scrivere nel forum
52 risposte