Witam, mój problem, jak przypuszczam jest banalny, ale ja przez 2 dni nie mogłem znaleźć błędu :/ Będę bardzo wdzięczny, jak ktoś rzuci okiem.Chodzi mi o to, że chcę skopiować do tablicy weight[] "połowę czyli prawy górny narożnik" macierzy wygenerowanej za pomocą f. generuj macierz. F generuj macierz jest bardzo długa, a wiem, że działa poprawnie, więc nie będę jej zamieszczał. wywołanie jej tworzy i zapisuje do topology[][] np taką macierz:
0 1 2 3
9 0 4 5
9 9 0 6
9 9 9 0
Teraz chciał bym wczytać do tablicy weight[] prawy górny narożnik topology[][], czyli odpowiednio: [1 2 3 4 5 6] chciał bym mieć w topology. Niestety kiedy wykonuje funkcję copy, w tablicy weight[] są same "6" (czyli topology[2][3])
Będę bardzo wdzięczny, jak ktoś rzuci okiem na kod, bo ja po prostu nie mogę znaleźć błędu w funkcji copy (podejrzewam, że tam jest błąd) a termin oddania programu tuż tuż
class Krawedz{
int w1;
int w2;
int koszt;
public void Nadaj_wartosci(int nr_w1, int nr_w2, int k) {
w1 = nr_w1; w2 = nr_w2; koszt=k;
}
public String Podaj_wartosci() {
String S ="w1: "+w1+" w2: "+w2+" koszt: "+koszt;
return S;
}
}
class minTree{
int size,licznik;
Krawedz weight[]=null;
Krawedz Dana=null;
public void utworz_weight(){
weight = new Krawedz[size*size];
}
public void copy(int tab[][]){
Dana=new Krawedz();
int i=0; int j; licznik=0;
for(j=1;1==1; j++){
Dana.Nadaj_wartosci(i, j, tab[i][j]);
weight[licznik]=Dana;
System.out.println(weight[licznik].Podaj_wartosci());
licznik++;
if(j==size-1){ i++; j=i; }
if((j==size-1)&&(i==size-1)) { break; }
}
}
}
public class Kruskal_Main {
public static void main(String[] args) {
int il_wez=4
Macierz mac = new Macierz();
mac.generuj_macierz(il_wez);
minTree MST=new minTree();
MST.size=il_wez;
MST.utworz_weight();
MST.copy(mac.topology);
}
}
Będę bardzo wdzięczny za pomoc