edutecnica

Esercizio 8       

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 .


#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