Usuwanie kolumn i wierszy.

0

Otoz moj problem jest nastepujacy chcialbym usuwac caly wiersz oraz cala kolumne z tablicy dwuwymiarowej w miejscu gdzie wystapi najmniejsza liczba w zbiorze. Jesli najmniejsza liczba sie powtarza to usuwa kolumny i wiersze z obydwoch indeksow.
Prezentuje moj kod w ktorym idea programu jest zachowana jednak w owe wiersze i kolumny wstawiona zostala liczba 202(dosc trywialnie)

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package agarlab2;

/**
 *
 * @author Jonasz
 */
class Table
{
    int[][] tablica;
    int indeks,indeks2;
    int x,y;
    public Table(int[][] tab)
    {
        this.tablica=tab;
    }
    public void getWithoutMin()
    {
        int min;
        int[][] tablica_tmp;
        min=tablica[0][0];
        for (int i=0;i<tablica.length;i++)
        {
            for (int j=0;j<tablica[i].length;j++)
            {
                if(min > tablica[i][j]) 
                { 
                    min=tablica[i][j];
                    indeks=i;
                    indeks2=j;
                }
                if(min==tablica[i][j])
                {
                    x=i;
                    y=j;
                }
           
            }
          
        }
      /*  if(x!=0&&y!=0)
                {
                     tablica_tmp=new int[tablica.length-2][tablica[0].length-2];
                }
        else
            tablica_tmp=new int[tablica.length-1][tablica[0].length-1];*/
      
        for (int i=0;i<tablica.length;i++)
        {
          tablica[i][indeks2]=202;   
        }
        for (int i=0;i<tablica[i].length;i++)
        {
          tablica[indeks][i]=202;   
        }
     if (x!=0&&y!=0)
             {
                for (int i=0;i<tablica.length;i++)
                     {
                          tablica[i][y]=202;   
                     }
                for (int i=0;i<tablica[i].length;i++)
                     {
                          tablica[x][i]=202;   
                     }
             }
    
        System.out.println(indeks);
        System.out.println(indeks2);
         System.out.println(x);
        System.out.println(y);
        System.out.println(min);
    }
}
public class Agarlab2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int[][] data={{2,0,8,9},
               {3,0,-1,20},
               {13,12, 17, 18},
               {1, 2, 3, 4},
               {2, 0, 7, 9} }; 
        Table t1=new Table(data);
         for (int i=0;i<t1.tablica.length;i++)
        {
            for (int j=0;j<t1.tablica[i].length;j++)
            {
                System.out.printf("%5d",t1.tablica[i][j]);
            }
            System.out.println();
        }
        t1.getWithoutMin();
         for (int i=0;i<t1.tablica.length;i++)
        {
            for (int j=0;j<t1.tablica[i].length;j++)
            {
                System.out.printf("%5d",t1.tablica[i][j]);
            }
            System.out.println();
        }
    }
}

 
0

I chciałbyś, żeby dany element zniknął z tablicy? Podpowiem zamiana tablicy na ArrayList, metody remove i toArray.

0

Wlasnie taki byl moj zamiar na samym poczatku jednak zostalo narzucone uzycie int[][]. Zgadza się chce usuwac dana kolumne i wiersz.

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