Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Podział na liczby parzyste i nieparzyste
tomsi
post 26.11.2007, 11:24:49
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Mam w pliku liczby np. 2, 3, 4, 7, 8, 14 i teraz chciałbym je podzielić żeby liczby parzyste znajdowały się w jednej zmiennej a liczby nieparzyste w drugiej zmiennej. Mam coś takiego:

if(($plik%2)==0)
{
$komunikat="LICZBA PARZYSTA";
echo $komunikat;
}
else
{
$komunikat="LICZBA NIEPARZYSTA";
echo $komunikat;
}
Ale to mi tylko bierze pierwszą liczbę :-/ Pewnie trzeba wstawić pętle, ale nie dałem rady jej stowrzyć


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
b_chmura
post 26.11.2007, 11:41:58
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10.  }
  11.  else
  12.  {
  13.  $nieparzyste[] = $liczba;
  14.  }
  15. }
  16. ?>
Go to the top of the page
+Quote Post
tomsi
post 26.11.2007, 11:57:03
Post #3





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Cytat(b_chmura @ 26.11.2007, 11:41:58 ) *
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10.  }
  11.  else
  12.  {
  13.  $nieparzyste[] = $liczba;
  14.  }
  15. }
  16. ?>


Ok a teraz jakbym chcial je zliczyć to muszę zrobić tak? Coś mi się to dziwnie wyświetla.

  1. <?php
  2. foreach($liczba as $liczba)
  3. {
  4. if($liczba%== 0)
  5. {
  6.  $parzyste[] = $liczba;
  7.  $r = array_sum($parzyste);
  8. echo $r;
  9. echo "<BR>";
  10.  }
  11.  else
  12.  {
  13.  $nieparzyste[] = $liczba;
  14.  $r = array_sum($nieparzyste);
  15. echo $r;
  16. echo "<BR>";
  17.  
  18.  }
  19. }
  20. ?>


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
itsme
post 26.11.2007, 12:06:20
Post #4





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




  1. <?php
  2. $iNieParzyste++;
  3. $iParzyste++;
  4. ?>

dodaj to w oppowiednie miejsca i bedzie zliczone


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
tomsi
post 26.11.2007, 12:13:19
Post #5





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Ja się źłe wyraziłem chyba. Chodziło o zsumowanie liczb, tzn ile wynosi suma wszystkich liczb w parzystych i ile wynosi suma liczb w nieparzystych.


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
b_chmura
post 26.11.2007, 12:17:20
Post #6





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10. $sumaParzyste += $liczba;
  11.  }
  12.  else
  13.  {
  14. $nieparzyste[] = $liczba;
  15. $sumaNieparzyste += $liczba;
  16.  }
  17. }
  18. ?>
Go to the top of the page
+Quote Post
tomsi
post 26.11.2007, 16:01:32
Post #7





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


Cytat(b_chmura @ 26.11.2007, 12:17:20 ) *
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. foreach($liczba as $liczba)
  6. {
  7. if($liczba%== 0)
  8. {
  9. $parzyste[] = $liczba;
  10. $sumaParzyste += $liczba;
  11.  }
  12.  else
  13.  {
  14. $nieparzyste[] = $liczba;
  15. $sumaNieparzyste += $liczba;
  16.  }
  17. }
  18. ?>


Ok wstawiłem sobie echo i wyświetliłem liczby parzyste i otrzymałem taki wynik: 261220, czyli każda następna liczba byla dodawana i wyśwetlana. A jak zrobić żebym otzrymał tylko ostatnia liczbę, czyli 20? Probowałem je wpisać do tablicy i zliczyć, ale był jakiś problem.


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
NetJaro
post 26.11.2007, 16:04:44
Post #8





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Tzn. Ostatnią liczbę z wyniku? Polecam substr" title="Zobacz w manualu PHP" target="_manual smile.gif

Ten post edytował NetJaro 26.11.2007, 16:06:44
Go to the top of the page
+Quote Post
tomsi
post 26.11.2007, 16:17:18
Post #9





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


No tak, ale czy jak liczba tych elementów (liczb) się zwiększy to dalej będzie się wyświetlalo tak jak trzeba, czyli ostatni element ten policzony? Bo mi nie wyświetla tego nowego ostatniego elementu.

Ten post edytował tomsi 26.11.2007, 16:19:00


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
Go to the top of the page
+Quote Post
nospor
post 26.11.2007, 16:26:19
Post #10





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




Ale w czym problem?
  1. <?php
  2. $liczby = '1,2,3,4,5,6,7,8,9'; //podajesz liczby rozdzielone przecinkiem 
  3. $liczba = explode(',', $liczby); //rozdzielasz liczby na pojedynczą liczbe
  4.  
  5. $sumaParzyste = 0;
  6. $sumaNieparzyste = 0;
  7. foreach($liczba as $liczba)
  8. {
  9. if($liczba%== 0)
  10. {
  11. $parzyste[] = $liczba;
  12. $sumaParzyste += $liczba;
  13.  }
  14.  else
  15.  {
  16. $nieparzyste[] = $liczba;
  17. $sumaNieparzyste += $liczba;
  18.  }
  19. }
  20.  
  21. echo 'Parzyste: '.$sumaParzyste; //20
  22. echo '<br />NieParzyste: '.$sumaNieparzyste; //25
  23. ?>


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

"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
tomsi
post 26.11.2007, 16:30:47
Post #11





Grupa: Zarejestrowani
Postów: 379
Pomógł: 45
Dołączył: 30.06.2007

Ostrzeżenie: (10%)
X----


O kurde ale mózg ze mnie sciana.gif chyba za bardzo kombinowałem. Dzięki


--------------------
Jeśli Ci pomogłem kliknij "Pomógł"
Jeśli Ty mi pomogłeś kliknę "Pomógł"
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 Wersja Lo-Fi Aktualny czas: 28.04.2025 - 06:18