Ciao ragazzi,
Devo scrivere un metodo che prende in input una matrice di interi, analizza se c'è un qualsiasi elemento ripetuto in essa e, in tal caso, restituisce true, altrimenti false.
Quindi praticamente se ho una matrice di 3 righe e 4 colonne, questo metodo dovrebbe prendere il primo elemento [0][0] e confrontarlo con tutti fino all'ultimo [2][3]. Finito questo ciclo, prende l'elemento successivo [0][1] e lo controlla con [0][2] e stessa cosa fino al [2][3], così via. Ovviamente una volta trovato un qualsiasi valore ripetuto si può uscire.
Il problema è che non riesco a scrivere un algoritmo al riguardo, in particolare non riesco a gestire gli indici per far ripartire, ad esempio, il controllo dal secondo elemento e senza farlo confrontare con se stesso.
Ho già fatto lo stesso programma, però con un array (qui non ho scritto un metodo, ho fatto direttamente nel main):
Con una matrice invece non riesco. Potete aiutarmi?
Devo scrivere un metodo che prende in input una matrice di interi, analizza se c'è un qualsiasi elemento ripetuto in essa e, in tal caso, restituisce true, altrimenti false.
Quindi praticamente se ho una matrice di 3 righe e 4 colonne, questo metodo dovrebbe prendere il primo elemento [0][0] e confrontarlo con tutti fino all'ultimo [2][3]. Finito questo ciclo, prende l'elemento successivo [0][1] e lo controlla con [0][2] e stessa cosa fino al [2][3], così via. Ovviamente una volta trovato un qualsiasi valore ripetuto si può uscire.
Il problema è che non riesco a scrivere un algoritmo al riguardo, in particolare non riesco a gestire gli indici per far ripartire, ad esempio, il controllo dal secondo elemento e senza farlo confrontare con se stesso.
Ho già fatto lo stesso programma, però con un array (qui non ho scritto un metodo, ho fatto direttamente nel main):
C++:
const int N = 10;
int main(){
int array[N] = {4,9,0,6,58,2,74,70,7,4};
int k = 0;
int j = 1;
bool condizione = false;
while(k<N) {
for(int i=0; i<N-j; i++) {
if(array[k]==array[i+k+1]) {
condizione = true;
break;
}
}
k++;
j++;
}
if(condizione==true) {
cout <<"Nell'array esiste almeno un elemento che si ripete." << endl;
}
else
{
cout <<"Nell'array non esiste nessun elemento che si ripete.'" << endl;
}
return 0;
}
Con una matrice invece non riesco. Potete aiutarmi?