×

Esercizio No. 8 Vettori

Esercizio No. 8 Vettori

Dato un vettore di 10 interi da 0 a 9, inserire in un secondo vettore le frequenze assolute dei numeri che appaiono nel primo vettore.
Soluzione:

#include<iostream> 
using namespace std; 
const int n=10; 
main(){ 
int T[n]={0,7,6,7,7,6,7,6,7,7}; 
int V[n]={0,0,0,0,0,0,0,0,0,0}; 
int i,j,x=0; 
// i,j indici x contatore delle ricorrenze 
//primo ciclo dal I° al penultimo elemento 

for(i=0;i<n-1;i++){
// II° ciclo dalla posizione i+1 all’ultimo elemento
     for(j=i+1;j<n;j++){ 
//se il valore dell’i-esimo elemento è uguale al valore //di uno degli elementi successivi x si incrementa
if(T[i]==T[j])x++; 
}//fine for j 
//se il valore in posizione T[i] del secondo vettore 
//è uguale a 0 tale valore viene impostato a 1; cioè 
//se T[i]==7 è stato trovato almeno un valore pari a 7 //nel primo vettore T 

if(!V[T[i]]){ 
      V[T[i]]=1; 
      if(x)V[T[i]]+=x; 

//se il contatore ha trovato delle ricorrenze successive
//esse vengono aggiunte al valore di V[T[i]] 

x=0; 
}//fine for i 
cout<<“numero :\t”; 
for(i=0;i<n;i++)cout<<i;
cout<<“\nricorrenze:\t”; 
for(i=0;i<n;i++)cout<<V[i}; 
}//fine main

Commento all'articolo