Esercizio di Java

Sk_Anonymous
Buonasera a tutti ! Ho il seguente esercizio : dato il seguente frammento di codice Java

int[] [] a=b;
int i =0 ,j=0, k=0 , c=0;
while ( i c=0 ;
k=0;
for (j=0 ; j.lenght -1 , j++){
if (a[j] %a[j+1] !=0){
c++;
}
else{
k++;
}
}
i++;
}

determinare il valore di i ,j k e c quando ad esempio b={ {12,4,3}, {21,3,7,2,1}, {12,4,2}, {10,2}}.
Per essere sicura,vorrei chiedervi queste cose:
1) a.lenght = 4 ?, mentre a[0].lenght=3, a[1].lenght=5 , a[2].lenght=3 e a[3].lenght=2 ?? j non è l'intero che corrisponde al posto occupato da ciascun numero ?? e quindi a[0][0]=12 , a[2][0]=12....??
2) L'istruzione dell' if intende dire che " se IL RESTO della divisione di quei due elenti è diversa da zero "???
3) I valori finali che devo determinare di i , j k e c sono quelli che mi devono venire fino quando io non riesco più ad andare avanti con il codice?perchè quando i=2 , j=2 ,c=0 , K=2 io esco dal for ,incremento i=3 ritorno al while e vedo che c non è uguale a k ! Quindi il valore finale di i è 2 o 3??
Grazie a chiunque mi voglia illuminare !

Risposte
hamming_burst
1) a.lenght = 4 ?, mentre a[0].lenght=3, a[1].lenght=5 , a[2].lenght=3 e a[3].lenght=2 ?? j non è l'intero che corrisponde al posto occupato da ciascun numero ?? e quindi a[0][0]=12 , a[2][0]=12....??

ok.
2) L'istruzione dell' if intende dire che " se IL RESTO della divisione di quei due elenti è diversa da zero "???

ok
3) I valori finali che devo determinare di i , j k e c sono quelli che mi devono venire fino quando io non riesco più ad andare avanti con il codice?

bhe certo, il codice cicla finchè le condizione di iterazione sono vere.


perchè quando i=2 , j=2 ,c=0 , K=2 io esco dal for ,incremento i=3 ritorno al while e vedo che c non è uguale a k ! Quindi il valore finale di i è 2 o 3??
Grazie a chiunque mi voglia illuminare !

ho fatto un po' velocemente ma a me sembra che le variabili al programma concluso:
i = 3 (perchè viene incrementato a conclusione del for interno)
j = 1 (perchè alla valutazione di a[2][1] % a[2][1+1] il for ha già incrementato j e la sua condizione successiva 1<2-1 è false perciò non incrementa j)
c = 0
k = 2

Sk_Anonymous
Tutto chiaro,grazie mille :smt023

PS Esiste qualche programma con cui si possono confrontare i risultati con questo tipo di esercizi ??? Grazie

hamming_burst
"marge45":

PS Esiste qualche programma con cui si possono confrontare i risultati con questo tipo di esercizi ??? Grazie

bhe dai pensaci un attimo... hai il codice, che ci fai di solito...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.