Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sumowanie Liczb, program sumujący licby parzyste
puma2192
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.11.2012

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


Witam mam problem z programem a raczej nie wiem jak go dokończyć. Mam napisać program, który sumuje liczby parzyste z tablicy. Doszedłem do takiego momentu
  1. <html>
  2. <body>
  3. <?php
  4.  
  5. $tab = array(2,5,10,3,12,50,9,19,18,7);
  6. $i=0;
  7. $b=count($tab);
  8. while($i<$b)
  9. {
  10.  
  11.  
  12. $c=$tab[$i]%2;
  13.  
  14. if($c==0)
  15.  
  16. {
  17. $suma=sum($tab[$i]);
  18.  
  19.  
  20. }
  21. $i++;
  22. }
  23. echo "suma="."$suma";
  24. ?>
  25.  
  26. </body>
  27. </html>

Program oczywiście nie działa. Probem jest w linijce
  1. $suma=sum($tab[$i]);
Siedzę już nad tym programem drugi dzień. Bardzo prosze o pomoc co mam zrobić żeby sumowało liczby parzyste ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post
Post #2





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




nie: $suma=sum($tab[$i]);
a: $suma+=$tab[$i];


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

"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
Zielonkawy18
post
Post #3





Grupa: Zarejestrowani
Postów: 152
Pomógł: 4
Dołączył: 4.10.2012

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


Krótki kod:

  1. function EvenValue($value)
  2. {
  3. if($value%2==0) return true;
  4. else return false;
  5. }


Na samej górze zdeklaruj zmienną $sum=0;

pętla for:

  1. for(int i=0;i<$b;i++)
  2. {
  3. $c=$tab[$i];
  4. if(EvenValue($c) $sum+=$c;
  5. }


--------------------
C/C++/C#/JAVA/SQL ( funkcje, procedury, pakiety ).
Go to the top of the page
+Quote Post
Sephirus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


  1.  
  2. $tab = array(2,5,10,3,12,50,9,19,18,7);
  3. $sum = 0;
  4. foreach($tab AS $val) {
  5. if($val%2 == 0) $sum+=$val;
  6. }
  7.  
  8. echo $sum;


EDIT: @Moderatorzy - nie wiem OCB ale dodało ode mnie dwa identyczne posty - toteż jeden usunąłem.

Ten post edytował Sephirus 30.11.2012, 08:49:08


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Mże coś takiego lub podobnego?
  1. $suma = 0;
  2. reset($tab);
  3. while( $current = current($tab) !== false ) {
  4. $sum += $current%2 ? $current : 0;
  5. next($tab);
  6. }
  7. var_dump($suma);


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Przykład z manuala (delikatnie zmodyfikowany). Bez biegania w pętli.
  1. function parzysta($var)
  2. {
  3. return(!($var & 1));
  4. }
  5. $tablica2 = array (6, 7, 8, 9, 10, 11, 12);
  6. print_r(array_filter($tablica2, "parzysta"));
  7. print_r(array_sum(array_filter($tablica2, "parzysta")));
Powód edycji: [thek]: To jazda po bitówce, niewielu zrozumie ;)
Go to the top of the page
+Quote Post
puma2192
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.11.2012

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


Cytat(nospor @ 30.11.2012, 08:46:17 ) *
nie: $suma=sum($tab[$i]);
a: $suma+=$tab[$i];



Nie wiedziałem że to takie łatwe będzie dzięki wszystkim za pomoc. próbuje kiedyś się odwdzięczyć. Temat uważam za zamknięty.
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 - 07:28