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