//varianta iterativa
int distincte(int X[], int n)
{//verifica daca elementele lui X sunt distincte
//facem toate perechile de indici (i,j) cu i<j
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(X[i]==X[j])//daca am gasit 2 elemente egale
return 0; //nu sunt distincte
return 1;//sunt distincte
}
//varianta recursiva
int distincterec(int X[], int n)
{//verifica daca elementele lui X sunt distincte
if(n==0) return 1;//toate sunt distincte
else
{//verific daca X[n] apare in cele din fata lui
for(int i=1;i<n;i++)//parcurg elementele cu indici de la 1 la n-1
if(X[n]==X[i]) return 0;// se repeta X[n]
return distincterec(X,n-1);// apelez recursiv pentru cele din fata
}
}
|