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;
}
}