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
toel
post
Post #2





Grupa: Zarejestrowani
Postów: 97
Pomógł: 11
Dołączył: 2.02.2010

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


Tak jak flashdev napisał jest to nie możliwe do realizacji w taki sposób jak być to chciał osiągnąć.

Jednak jeśli koniecznie potrzebujesz zrobić skrót tej tablicy polecam skorzystanie z "odwróconej dwójkowości" (nazwę właśnie wymyśliłem na potrzeby odpowiedzi ;P )


Czyli stosujemy system dwójkowy tyle, że zamiast od prawej, liczymy od lewej (jedyny sens zastosowania odwrotności jest taki, że wg mnie prościej wtedy się operuje na tablicach 2D o nieznanym wymiarze)


Czyli biorąc tą tablicę:

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

Zapis byłby następujący (jeśli się nie pomyliłem) dla wierszy

17
13
6
18
16

I to starczy bo właściwie kolumny odtworzą Ci się same z siebie, więc nie ma sensu robić zliczania kolumnowego...


[edit]

Nie sprawdzałem tego kodu ale powinno zadziałać (tab to twoja tabliza 01)
  1. $new_arr=array();
  2.  
  3. for($i=0;$i<sizeof($tab);$i++)
  4. {
  5. $bin=1;
  6.  
  7. $cnt=0;
  8.  
  9. for($j=0;$j<sizeof($tab[$i]);$j++)
  10. {
  11. $cnt=$cnt+($tab[$i][$j]*$bin);
  12.  
  13. $bin=$bin*2;
  14. }
  15.  
  16. $new_arr[]=$cnt;
  17. }



Ten post edytował toel 9.04.2010, 15:32:29
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: 3.10.2025 - 02:29