Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tablice?
chomiczek
post
Post #1





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

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


Słuchajcie potrzebuje zrobić np. taką tablicę, która będzie wyglądała tak:
0 1 0 0 1
1 0 1 1 0
0 1 1 0 0
0 1 0 0 1
0 0 0 0 1

ogólnie wielkość tablicy nie ma znaczenia, ale najważniejsze co chce osiągnąć to to, żeby zliczyć sumę elementów zarówno w pionie jak i w poziomie.

Czyli w tym przypadku powinienem otrzymać np 2 tablice - pion [1,3,2,1,3], poziom [2,3,2,2,1]

o ile to jest jeszcze połową sukcesu to później chce na podstawie tablic pion i poziom zobaczyć co miałem tam wcześniej, może tam być np. jakiś znak, chce to zastosować w OCR..

ktoś ma jakiś pomysł jak powinien wyglądać algorytm sprawdzający sumę poszczególnych linii?

a może jest dostępne gdzieś takie rozwiązanie??

edt: oczywiście pierwsza część czyli stworzenie tablicy pion i poziom jest banalne, bo wystarczy foreach i zliczyć, ale chodzi bardziej o odczytanie tablic pion i poziom i zbudowanie na ich podstawie jednej tablicy

Ten post edytował chomiczek 5.04.2010, 14:31:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Psychopath
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 2
Dołączył: 22.01.2006

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


Hmm, troszkę się pomęczyłem i nie wiem jaki jest powód, ale działa dobrze do momentu.

  1. <?php
  2. $cyfry = array(
  3. array(0,1,0,0,1),
  4. array(1,0,1,1,0),
  5. array(0,1,1,0,0),
  6. array(0,1,0,0,1),
  7. array(0,0,0,0,1)
  8. );
  9.  
  10. // Poziomo
  11. foreach($cyfry as $linia){
  12. $suma1 = array_sum($linia);
  13. $suma["poziomo"][$numer] = $suma1;
  14. $numer = $numer+1;
  15. echo "Suma pozioma tablicy numer $numer to $suma1<br />";
  16. }
  17. echo "<hr />";
  18.  
  19. // Pionowo
  20. $ilosc_elementow_pn = count($cyfry);
  21. $ilosc_elementow_pz = count($cyfry[0]); //Dla jednakowej ilości elementów w każdym array'u
  22.  
  23.  
  24. $a = 0;
  25. $sumax = 0;
  26. $x = 0;
  27.  
  28. while($x <= $ilosc_elementow_pz){
  29. while($a <= $ilosc_elementow_pn){
  30. $sumax = $sumax + $cyfry[$a][$x];
  31. $a = $a+1;
  32. if($a == $ilosc_elementow_pn){
  33. $suma["poziomo"][$x] = $sumax;
  34. $sumax = 0;
  35. echo "Suma pionowa tablicy numer $x to ".$suma["pionowo"][$x]."<br />";
  36.  
  37. }
  38. }
  39. $a = 0;
  40. $x = $x+1;
  41. }
  42. ?>


Wszystko powinno być ok jak na to patrzę, ale coś nie gra, przynajmniej na localhoscie. Poziomo oblicza normalnie, pionowo już nie do końca. To pewnie wina zmęczenia, kodzę od jakichś 16 godzin z przerwą na obiad:P

EDIT: Napisałem, i 10 sekund później znalazłem buga, już poprawione:)

Ten post edytował Psychopath 11.04.2010, 04:52:58
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 19:07