/******************************************************************************
Es 31. Leggere un array di 10 interi e verificare
se tutti i valori presenti nell’array sono divisibili
per la cifra delle unità della somma di tutti i valori
(senza ripetizioni) contenuti nell’array.
*******************************************************************************/
#include <iostream>
using namespace std;
int main()
{
int a[10]={2, 3, 4, 5, 2, 2, 3, 0, 1, 4};
for(int i=0;i<10;i++)
{cout<<a[i]<<" ";}
cout<<endl;
//calcolo la somma senza ripetizioni
int somma=0;
for(int i=0;i<10;i++)
{
cout<<"cella "<<i;
cout<<" contenuto "<<a[i];
int apparizioni=0;
for(int j=0;j<i;j++)
{
if(a[j]==a[i])
{
apparizioni++;
}
}
//cout<<" ripetuto "<<apparizioni<<" volte prima della posizione "<<i<<endl;
//escludo dalla somma i numeri che comparivano nelle posizioni precedenti a i
if(apparizioni==0)
{
somma=somma+a[i];
}
}
//cifra unita della somma
int valore=somma%10;
if(valore ==0)
{
cout<<"la cifra delle unita' della somma e' zero non posso dividere";
}
else
{
// verificare se tutte le celle di una array sono divisibili per un valore
bool proprieta=true;
for(int i=0;i<10;i++)
{
if(a[i]%valore!=0)
{
proprieta=false;
}
}
if(proprieta==true)
{
cout<<"proprieta' rispettata";
}
else
{
cout<<"proprieta' non rispettata";
}
}
}