Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    37
    Si, scusatemi: avevo dimenticato di inserire i code!
    per quanto riguarda gli errori: il compilatore non me li segnala ma il programma non viene compilato.
    Da questo deduco che qualcosa non vada nel testo scritto, ma non riesco a capire cosa. Manca il secondo punto, quello sull'istogramma ed in questo avrei bisogno del vostro aiuto. per il primo punto, sulla funzione filter, qualcosa non quadra al momento dell'esegui.

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La chiamata della funzione è sbagliata ... Deve essere

    out= filter_vector(serie, 100, &out_size);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    37
    Oregon, ho modificato la chiamata a funzione con i parametri corretti, ma quando eseguo i vettori risultano tutti nulli.
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <malloc.h>
    #include <time.h>
    
    /* Dichiarazioni funzioni */
    void riempi_vettore (double *v, int size, double a, double b);
    double * filter_vector( double *, int , int *);
    
    
    int main (void) {
        double *serie;
        double *out;
        int i,n, out_size;
        
        printf ("Immetti da tastiera le dimensioni del vettore:\n");
        scanf ("%d", &n);
        
         serie=(double *) malloc(n*sizeof(double));
        
        riempi_vettore (serie,n,0,10);
        
        out= filter_vector(serie, 100, &out_size);
        printf("la dim del vettor in uscita e %d\n" , out_size);
        
        
        for(i=0; i<out_size; i++){
        printf("out[%d]=%f\n" , i , out[i]);
                                  }
    
        system("pause"); 
    }
    
    
    
    /* Funzione riempi vettore */
    
    void riempi_vettore (double *v, int size,double a, double b) {
         int i;
         
         srand(time(NULL));
         for (i=0; i<size; i++) {
             v[i]= (rand()*(b-a))/size;
            
             }
         }
    
    
    
    double * filter_vector( double *in_vector , int in_vector_size, int *out_vector_size){
          
          int i, j;
          double *out_vector;
          
          *out_vector_size=0;
          
          for(j=0; j<in_vector_size; j++){
                   if(((in_vector[j]+in_vector[j+1]+in_vector[j+3])/3)<0.5){
                             *out_vector_size=*out_vector_size+1;
                                                                                       }
                                                                                       }
          out_vector=(double*)malloc(*out_vector_size*sizeof(double));
          
          i=0;                                                                             
          for(j=0; j<in_vector_size; j++){
                   if(((in_vector[j]+in_vector[j+1]+in_vector[j+3])/3)<0.5){  
                           out_vector[i]=in_vector[j];
                                       i++;
                                                                                       }
                                                                                       }
                                                                                       
            return out_vector;
                                 
    }

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.