PDA

View Full Version : [JAVA]Esercizio con matrice


dennis8787
01-11-2012, 16:48
In questo esercizio devo creare una matrice con numero di righe e colonne a piacere, trovare il massimo e vedere la sua posizione. Dopodichè devo scambiare la riga che contiene il massimo con la prima riga (se non coincidono) scambiare la colonna che contiene il massimo con la prima colonna (sempre se non coincidono).
Con questo codice riesco a portare l'elemento massimo nella prima posizione in alto a sinistra (penso sia quello che chiedono le condizioni) ma tutti gli altri elementi sono 0 e non capisco perchè..

import java.util.Scanner;
public class occorrenzeNumero {
public static void main(String[] args) {
Scanner Input=new Scanner(System.in);
System.out.print("Numero di righe della matrice: ");
int row=Input.nextInt();
System.out.print("Numero di colonne della matrice: ");
int col=Input.nextInt();
int[][] matrice=new int[row][col];
int[][] newMatrix=new int[row][col];
int massimoElemento=matrice[0][0];
int maxIndexRow=0, maxIndexCol=0;

for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
matrice[i][j]=1+(int)(Math.random()*100);
System.out.print(matrice[i][j]+"\t");
}
System.out.println();
}

for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
if(matrice[i][j]>massimoElemento){
massimoElemento=matrice[i][j];
maxIndexRow=i;
maxIndexCol=j;
}
}
}
System.out.println("\nL'elemento massimo e': "+massimoElemento);
System.out.println("e si trova in posizione "+(maxIndexRow+1)+" "+(maxIndexCol+1));

for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
newMatrix[0][0]=matrice[maxIndexRow][maxIndexCol];
System.out.print(newMatrix[i][j]+"\t");
}
System.out.println();
}
}
}

Grazie a tutti per l'aiuto che mi darete..

simo8
04-11-2012, 12:46
for(int i=0; i<row; i++){
for(int j=0; j<col; j++){
newMatrix[0][0]=matrice[maxIndexRow][maxIndexCol];
System.out.print(newMatrix[i][j]+"\t");
}
System.out.println();
}


In poche parole non fai lo scambio dei valori , in quel modo tu inserisci nella matrice newMatrix , che è vuota , l'elemento massimo alla posizione [0][0] e la visualizzi.