Ragazzi, chiedo il vostro aiuto perchè ho difficoltà a svolgere alcuni esercizi.
Ho un vettore "v" di reali, allocato dinamicamente, di dimensioni n inserite da tastiera, contenente elementi generati casualmente nell'intervallo continuo [0,20].
Mi si chiede di scrivere una funzione "istogramma" che riceve il vettore v, la sua dimensione , un numero di intervalli t in cui suddividere l'intervallo [0,20] e che restituisce un vettore di interi di t elementi, le cui componenti sono così calcolate:
elemento 0 = numero di valori del vettore in ingresso compresi tra [0,h]
elemento 1 = numero di valori del vettore in ingresso compresi tra ]2h,3h]
elemento 2 = numero di valori del vettore in ingresso compresi tra ]3h,4h]
e così via,
dove h è la dimensione del singolo sottointervallo.
Il prototipo della mia funzione è:
int * istograma (double *in_vector, int in_vector_size, int t
Vi riporto quello che ho svolto al momento ( con Dev C++ non parte...):
codice:#include <stdio.h> #include <stdlib.h> #include <time.h> void riempi_vettore (double *v, int size); int main (void) { double *serie; int i,n; printf ("Immetti da tastiera le dimensioni del vettore:\n"); scanf ("%d", &n); serie=(double *) malloc(n*sizeof(int)); srand(time(NULL)); /* Riempio vettore */ riempi_vettore (serie, n); /* Lo stampo a video */ for (i=0; i<n; i++) { printf (" I valori del vettore sono serie[%d]=%f \n", i, serie[i]); } system("pause"); } /* Funzione riempi vettore */ void riempi_vettore (double *v, int size) { int i; for (i=0; i<size; i++) { v[i]= rand()/(RAND_MAX)*10.0; } }

):
Rispondi quotando