lamus napisał(a)
a po drugie wiem ze nie jest najlepszy i niepowinno sie tego pisac w konstruktorze ,ale w ogole nie o tym jest temat...
Wiem, że temat nie jest, to była taka moja (jestem przekonany, że dobra) rada w ramach dygresji. Bo dzięki temu konstruujesz sobie Macierz (tylko jej rozmiar), a potem możesz uzupełniać na różne sposoby - pobierając liczby od użytkownika, wczytując z pliku, losując, itp. To jest bardziej przyszłościowe.
lamus napisał(a)
No właśnie widać ,że nie czytasz co napisałem. Moim problemem jest to ,że jak napisze ten podany przez ciebie kod to seria pytań wyskakuje mi 2 razy ,a nie jak powinno 3 i nie wiem czemu tak sie dzieje.Przy tworzeniu macierzy m1 i m2 wyskakuje seria pytan, a przy suma sa podawane rozmiary tablicy i wszystko jest poprawnie dodane, ale pytan nie ma.
Ale, ja właśnie przeczytałem dokładnie, dlatego dopytuję. Zrobiłem sobie projekt, wkleiłem tam Twój kod i mnie pyta 3 razy. Jeśli Ciebie nie, to bardzo dziwne, że program nie robi tego, co w nim jest zaprogramowane. Może pokaż więcej kodu?
I nie imputuj mi czytania bez zrozumienia ;)
lamus napisał(a)
nie bardzo rozumiem :) Wydawało mi się ,że tylko tak sie da i tak najlatwiej :P
Chodziło mi o to, że w tej linijce
macierz_dodajaca.matrix[i, j] = matrix1.matrix[i, j] + matrix2.matrix[i, j];
odwołujesz się do pól prywatnych (matrix) zewnętrznych obiektów (matrix1 i matrix2), a nie wiedziałem, że tak się da. Tzn. nigdy tak nie robiłem, bo i po co?
Co do indekserów - nie mów, że z nich nie korzystasz, bo nie da się używać tablic bez indekserów :P
Są to właściwości, które trzeba przeciążyć. Nie podaje się im własnej nazwy, wygląda to mniej więcej tak:
<code class="c#">
public int this[int i, int j]
{
get
{
//sugeruję sprawdzić czy podany indeks nie wykracza poza zakres i ewentualnie
//wyrzucić IndexOutOfRangeException();
//a jeśli wszystko dobrze, to zwrócić element wewnętrznej, prywatnej tablicy o indeksach i i j
return matrix[i, j];
}
set
{
//a tu analogiczne czynności do ustawienia wartości elementu
}
}
Mam nadzieję, że wszystko jasne.
Powodzenia i pozdrawiam :)