Ammetto di essere stato un po' criptico, ma non mi pare così complesso...
Scorri il primo vettore = usa un for per ciclare su ciascun elemento del primo vettore
Usa il valore che ne ricavi come indice per il secondo = ad ogni iterazione vai a considerare il valore dell'elemento del primo vettore su cui ti trovi; usa questo per accedere al corrispondente elemento del secondo vettore
l'elemento corrispondente ad esso andrà incrementato di uno = non so come renderlo più semplice...
Esempio:
Naturalmente se l'insieme dei possibili valori di vettoreInput è particolarmente sparso risulta più conveniente una struttura dati più flessibile, come l'hashtable.codice:#define ARRSIZE(arr) (sizeof(arr)/sizeof(*(arr))) int vettoreInput[50]; int vettoreProb[100]={0}; /* ... riempimento vettoreInput ... */ /* Calcolo vettore probabilità */ int i, j, maxVI=0; for(i=0;i<ARRSIZE(vettoreInput);i++) { /* Evitiamo di fare danni */ if(vettoreInput[i]>=ARRSIZE(vettoreProb)) { /* il vettore probabilità è troppo piccolo, gestisci l'errore in qualche maniera (visualizza un qualche messaggio di errore, ...) */ break; } vettoreProb[vettoreInput[i]]++; maxVI=max(maxVI, vettoreInput[i]); } for(i=0; i<=maxVI; i++) { printf("%d: ",i); for(j=0; j<vettoreProb[i]; j++) putchar('*'); putchar('\n'); }

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando