Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Ordinamento matrice

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    18

    Ordinamento matrice

    Salve sono fermo su un problema...ho fatto una classe che data una matrice quadrata, mette i suoi valori in un vettore che poi viene ordinato col metodo a bolle e stampato.
    Solo che in esecuzione non restituisce i risultati che uno si aspetta(in particolare il vettore alla fine contiene in tutte le sue posizioni l'ultimo numero della matrice. Sapete dirmi di più?
    Ecco il codice:

    import fondamenti.input.*;
    public class Mat{
    public static void main(String[]args){
    int dim=Console.readInt("Dammi la grandezza della matrice quadrata in questione ");
    int[][]M=new int[dim][dim];
    for(int i=0;i<dim;i++)
    for(int j=0;j<dim;j++)
    M[i][j]=Console.readInt("Dammi il valore"+i+","+j);
    int dimVett=dim*dim;
    int[]V=new int[dimVett];
    for(int i=0;i<dim;i++)
    for(int j=0;j<dim;j++)
    for(int z=0;z<dimVett;z++)
    V[z]=M[i][j];
    boolean ordinare=true;
    while(ordinare){
    ordinare=false;
    for(int i=0;i<dimVett-1;i++){
    if(V[i]<V[i+1]){
    int scambio=0;
    scambio=V[i];
    V[i]=V[i+1];
    V[i+1]=scambio;
    ordinare=true;
    } //chiusura if
    } //chiusura for
    }//chiusura while
    for(int z=0;z<dimVett;z++)
    System.out.print(V[z]+" ");

    }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Ordinamento matrice

    Originariamente inviato da mr87
    Salve sono fermo su un problema...ho fatto una classe che data una matrice quadrata, mette i suoi valori in un vettore che poi viene ordinato col metodo a bolle e stampato.
    Solo che in esecuzione non restituisce i risultati che uno si aspetta(in particolare il vettore alla fine contiene in tutte le sue posizioni l'ultimo numero della matrice. Sapete dirmi di più?
    codice:
      for(int i=0;i<dim;i++)
          for(int j=0;j<dim;j++)
              V[i*dim+j]=M[i][j];
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    18
    wow...va benissimo,grazie 1000!
    Comunque come mai non andava bene quella mia versione?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    5
    for(int z=0;z<dimVett;z++)
    V[z]=M[i][j];
    ad ogni ciclo for gli facevi caricare lo stesso valore a tutto il vettore

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.