Ciao a tutti,
avrei bisogno di un aiuto su un esercizio di Java suglia Array.
L'ho svolto ma il risultato che da non è totalmente corretto
Il testo è questo:
codice:
// Si dia un metodo MinMax che, dato un array A,
// lo modifica rimpiazzando ogni A[i] con la seguente somma:
// minimo{A[0],A[1],...,A[i]} +
// massimo{A[i],A[i+1],...,A[A.length-1]}
codice:
public class ArrayL4 {
public static void main (String [] args){
int A[]={3,2,5,10,4};
System.out.print ("L'array iniziale e' cosi' composto: ");
for (int i = 0; i < A.length; i++) {
System.out.print (A[i] + " ");
}
System.out.println ("\n\n");
MinMax(A);
System.out.print ("L'array finale modificato e' cosi' composto: ");
for (int i = 0; i < A.length; i++) {
System.out.print (A[i] + " ");
}
System.out.println ("\n");
}
public static int[] MinMax(int A[]) {
int[] B = new int [A.length -1];
for (int i = 0; i < B.length; i++) {
int x=0;
int min = A[0];
while (x <= i) {
if (A[x] <= min)
{ min = A[x];}
x++;
}
int max = A[i];
int y = i;
while (y < B.length) {
if (A[y] >= max) {
max = A[y];}
y++;
}
B[i] = min + max;}
for (int i = 0; i < B.length; i++) {
A[i] = B[i];
}
return A;
}
}
Dovrei ricevere 13 12 12 12 6 ma invece ho 13 12 12 12 4