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();
}
}
}