Witam. Chciałbym wyszukać dwa największe i najmniejsze elementy w tablicy jednowymiarowej. Jest jakaś metoda Array? Array.Sort nie wchodzi w grę bo indeks tablicy musi pozostać nienaruszony.
Tablica i szykanie tmax, tmin
- Rejestracja: dni
- Ostatnio: dni
- Postów: 488
Zerknij tu: http://www.dotnetperls.com/max
- Rejestracja: dni
- Ostatnio: dni
Console.WriteLine(" " +dane.Max());
Console.WriteLine(" " + dane.Max(element => Math.Abs(element)));
tylko teraz pytanie jak zadeklarować element? Czy dało by się Wypisać to co jest przed dane.Max(). Chodzi o wypisanie dwóch najwiekszych elementów bez zmiany indeksu w tablicy.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Polska, Kraków
Nie ma na to gotowej metody, nie kombinuj tylko napisz sobie samemu takie wyszukiwanie.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 627
Może to nie jest najmądrzejsze, ale .. znajdź sobie największy i najmniejszy element tablicy, zapamiętaj ich wartości i indeksy, w te miejsca wstaw np. 0, i znowu znajdź największy i najmniejszy element tablicy. Następnie podmień znowu wartości 0 na te, które zapamiętałeś.
Inaczej, też pewnie nienajrozsądniej - skopiuj tablicę, tam znajdź elementy maks i min, usuń je, znowu znajdź maks i min, kopię usuń.
Trzecie (jak powyższe) - skopiuj tablicę, posortuj, weź dwa elementy z jednego końca, dwa z drugiego i już masz.
Czwarte... google nie gryzie :)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Polska, Kraków
Ale po co tak kombinować jeden for dwa ify i po problemie.