Lorenzo3
03-05-2006, 17.14.13
Roba di un corso del primo anno, nulla di che: bisogna fare una function (mulVett) che dato un vettore e un paramentro intero (d), restituisca un altro vettore contenente gli elementi di quello iniziale che sono in posizioni multiple di d.
int[] mulVett(int vettore[], int d){
int[] vett2 = new int[vettore.length/d];
int j = 0;
for (int i = 0; i < vettore.length - d; i+=d){
vett2[j] = vettore[i];
j++;
}
main:
int l = 10, n = 3;
int vet[] = new int[l];
for (int i = 0; i < vet.length; i++){
vet[i] = 1 + (int)(Math.random()*100);
System.out.print(vet[i] + " ");
}
System.out.print("\n");
int res[] = mulVett(vet, n);
for (int i = 0; i < res.length; i++){
System.out.print(res[i] + " ");
}
Ecco io vorrei sapere perchè, se lo lascio così, del vettore risultato non mi stampa l'ultimo elemento, mentre se levo quel "- d" nella condizione d'arresto del ciclo for all'interno di mulVett mi da una ArrayIndexOutOfBoundsException...
Grazie a chi ha qualche suggerimento.
int[] mulVett(int vettore[], int d){
int[] vett2 = new int[vettore.length/d];
int j = 0;
for (int i = 0; i < vettore.length - d; i+=d){
vett2[j] = vettore[i];
j++;
}
main:
int l = 10, n = 3;
int vet[] = new int[l];
for (int i = 0; i < vet.length; i++){
vet[i] = 1 + (int)(Math.random()*100);
System.out.print(vet[i] + " ");
}
System.out.print("\n");
int res[] = mulVett(vet, n);
for (int i = 0; i < res.length; i++){
System.out.print(res[i] + " ");
}
Ecco io vorrei sapere perchè, se lo lascio così, del vettore risultato non mi stampa l'ultimo elemento, mentre se levo quel "- d" nella condizione d'arresto del ciclo for all'interno di mulVett mi da una ArrayIndexOutOfBoundsException...
Grazie a chi ha qualche suggerimento.