Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zadanie z tablic
Forum PHP.pl > Forum > PHP
damianooo
Mam następujące zadanie do rozwiązania:

Napisz program, który obliczy sumę elementów na obu przekątnych tablicy o wymiarze NxN.

Zrobiłem sumowanie jednej przekątnej, w ten sposób:

  1. $array_test = array(
  2. 0 => array(2, 4, 5, 6),
  3. 1 => array(3, 5, 2, 4),
  4. 2 => array(8, 3, 2, 3),
  5. 3 => array(2, 1, 3, 6)
  6. );
  7.  
  8. $pierwsza_przekatna = 0;
  9. $count_array = count($array_test);
  10.  
  11. for ($i = 0; $i < $count_array; $i++) {
  12. for ($j = $count_array; $j >= 0; $j--) {
  13. if ($i == $j) {
  14. $pierwsza_przekatna += $array_test[$i][$j];
  15. }
  16. }
  17. }


nie potrafię natomiast dodać do tego sumowania drugiej przekątnej.


Mogę prosić o pomoc?

dzięki

CuteOne
Z tego co da się wyczytać w regulaminie - zadań domowych nie rozwiązujemy ale to rozwiązanie jest dość błahe - od 0 do 4 w drugiej pętli smile.gif
damianooo
Zadań domowych nie rozwiązujemy? ... gdzie w regulaminie jest taki punkt ? smile.gif ... poza tym to nie zadanie domowe tylko zadanie znalezione na pewnej stronie.

ja to rozwiązałem tak:

  1. $array_test = array(
  2. 0 => array(2, 4, 5, 6),
  3. 1 => array(3, 5, 2, 4),
  4. 2 => array(8, 3, 2, 3),
  5. 3 => array(2, 1, 3, 6)
  6. );
  7.  
  8. $pierwsza_przekatna = 0;
  9. $count_array = count($array_test);
  10.  
  11. $c = $count_array-1;
  12.  
  13. for ($i = 0; $i < $count_array; $i++) {
  14. for ($j = $count_array; $j >= 0; $j--) {
  15. if ($i == $j) {
  16. $pierwsza_przekatna += $array_test[$i][$j];
  17. }
  18. }
  19.  
  20. $druga_przekatna += $array_test[$c][$i];
  21. $c--;
  22. };

prowseed
Robisz dwuwymiarową tablicę

Analizujesz: http://www.roseindia.net/tutorial/C/sumofdiagonals.html

Piszesz w php : )


Możesz też strzelić foreach na $array_test i zrobić array reverse na tablicach, a później policzyć tak samo jak wcześniej ; )
amii
Możesz zrobić też tak :
Założenia pierwszy element = 0;
ostani element równy count(tablica) - 1
1 dwie pętle po tablicach i sprawdzasz czy klucz jest równy pierwszemu lub ostaniemu elementowi
2 jeśli tak do dodajesz wartości z tablicy do sumy
3 w petli zewnetrznej zwiekszasz wartosc pierwszego elementu i zmniejszasz wartosc ostatniego
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.