Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie na liczby parzyste i nieparzyste
MalKavar
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 3.05.2015

Ostrzeżenie: (0%)
-----


Otóż zadanie jest takie. Trzeba za pomocą funkcji posortować tablicę, w której zawarte są liczby na parzyste i nieparzyste, oraz od największej do największej, tzn.
Dane są liczby:

22, 99, 63, 32, 8, 19, 0, 71, 33, 44

a po posortowaniu tablica ma mieć postać

0, 8, 22, 32, 44, 19, 33, 63, 71, 99


Ja posortowałem to, dzieląc na dwie tablice(po posortowaniu na parzyste i nieparzyste), a następnie uporządkowałem od najmniejszej do największej, po czym znów połączyłem tablice, jednak zadanie ma być wykonane za pomocą jednej funkcji składającej się z czterech warunków if.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


i w czym problem?
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


usort + Twoja funkcja porównująca dwa elementy tablicy. Funkcja ta powinna najpierw uwzględnić parzystość elementów, a następnie, jeżeli jest taka sama ich wartość.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@Crozin a teraz patrzymy w jakim dziale zostal napisany temat.... wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MalKavar
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 3.05.2015

Ostrzeżenie: (0%)
-----


Problem rozwiązany.

Algorytm w funkcji:

1. Jeśli a jest nieparzyste i b jest parzyste zwróć wartość dodatnią
2. jeśli a jest większe od b i b jest parzyste zwróć wartość dodatnią
2. jeśli a jest większe od b i b nie jest parzyste zwróć wartość dodatnią


Kod samej funkcji:
  1. function sortnij(a, b)
  2. {
  3. if(a % 2 != 0 && b % 2 == 0) return 1;
  4. if(a > b && b % 2== 0) return 1;
  5. if(a > b && a % 2!= 0) return 1;
  6. }
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:51