Tablica i szykanie tmax, tmin

Tablica i szykanie tmax, tmin
  • Rejestracja: dni
  • Ostatnio: dni
0

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.

Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
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.

DibbyDum
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Kraków
0

Nie ma na to gotowej metody, nie kombinuj tylko napisz sobie samemu takie wyszukiwanie.

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
0

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 :)

DibbyDum
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Kraków
3

Ale po co tak kombinować jeden for dwa ify i po problemie.

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
0

@DibbyDum zgadza się, chodziło mi jednak o coś innego - można to zrobić na kilka sposobów, mądrzejszych, głupszych, krótszych, dłuższych, efektywniejszych i nieefektywnych. Tylko trzeba chcieć to samemu zrobić, a nie tylko chcieć by ktoś za kogoś zrobił.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.