Tablica 2 wymiarowa - problemix

0

Jak napisać metode "usuwa z tablicy wiersz i kolumnę wyznaczone przez położenie elementu maksymalnego"
Jest to ostatni podpunkt z mojej listy zadań, którego nie mogę ogarnąć...


public int usunPowtorzenia() {
            Arrays.sort(getTablica());
            int obecnaTablica = getTablica()[0];
            boolean znaleziono = false;

            for (int i = 0; i < getTablica().length; i++) {
                for(int j =0; j<getTablica().length; j++){
                                 if (obecnaTablica == getTablica()[i] && !znaleziono) {
                    znaleziono = true;
                } else if (obecnaTablica != getTablica()[i]) {
                    System.out.print( obecnaTablica+" ");
                    obecnaTablica = getTablica()[i];
                    znaleziono = false;
                }
            }
}
            return obecnaTablica;
        }
0
public void UsuwaWiersziKolumne() {
	 
	int[][] Nmacierz = new int[LiczbaWierszy-1][LiczbaKolumn-1];

     int index1 = -1, index2 = -1;

     for (int i = 0; i < LiczbaWierszy; i++)
     {                
         if (i == WartoscMax()) {
        	 continue; 
        	 }

         index1++;
         index2 = -1;

         for (int j = 0; j < LiczbaWierszy; j++)
         {                    
             if (j == WartoscMax()) {
            	 continue; 
            	 }

             index2++;
            Nmacierz[index1][index2] = macierz[i][j];
           
             
         }
        
     
     }
     macierz =Nmacierz;
	
}
0

Kod wygląda bardzo dziwnie:

  • wielokrotnie wywołujesz metodę WartoscMax() - powinieneś wywołać raz i zapamiętać wartość,
  • metoda WartoscMax() zwraca zapewne największą wartość w tablicy, porównywanie indeksów wiersza i kolumny z tą największą wartością nie ma żadnego sensu, powinieneś porównywać indeks aktualnego wiersza z indeksem wiersza z wartością maksymalną.
0

mój błąd ..... nie zauwazyłem go nawet....

1 użytkowników online, w tym zalogowanych: 0, gości: 1