Blue Flower

Realizzare un programma per individuare il valore modale contenuto in un vettore di interi.
Soluzione:

Ricordiamo che il valore modale in una seriazione numerica è il valore che ricorre con maggior frequenza in tale serie. Noi pensiamo di testare l'algoritmo con un vettore così inizializzato:
int T[n]={3,2,4,5,1,5,3,2,5,6};
un vettore di n=10 elementi con il 5 che ricorre maggiormente (per ben 3 volte). Le variabili principali che saranno usate sono: max:numero massimo di ricorrenze incontrate per un dato valore maxi:indice del valore che ricorre maggiormente x: contatore delle ricorrenze La tecnica usata è simile a quella dell'ordinamento caratterizzata da un doppio for sui due indici i e j che controlla tutte le posizioni successive ad i. 


#include<iostream>
using namespace std; 
const int n=10; 
main(){ 
int T[n]={3,2,4,5,1,5,3,2,5,6}; 
int i,j,max=0,maxi,x=1; 
for(i=0;i < n-1;i++){ 
     for(j=i+1;j < n;j++) if(T[j]==T[i])x++; 
     if(x > max){max=x;maxi=i;}//fine if
     x=1; 
//fine for(i)
cout << max <<" volte il " << T[maxi]; 
}//fine main 


notiamo come x debba essere inizializzata a 1; infatti al valore riscontrato saranno aggiunte tutte le eventuali ulteriori ricorrenze trovate attraverso il ciclo for(j) sulla parte successiva del vettore.