Autor | Zpráva | ||
---|---|---|---|
kokolino Profil |
#1 · Zasláno: 11. 3. 2011, 19:05:41
čawte
chcem sa spýtať ako by ste overili či sú slová "oko" vedľa seba, na obrázku som to zakrúžkoval ako to myslím Odkaz ide my o myšlienku ,že ako na to lebo si to neviem nejak predsaviť viem si zistiť pozíciu bunky na osi X a Y, ale neviem zistiť či sú susedné napr. ak x=0 potom susedné sú 2 a 3, 3 a 7 už nie ,ale toto neviem overiť |
||
Tori Profil |
#2 · Zasláno: 11. 3. 2011, 19:13:52
kokolino:
sousední = mají společnou stranu, nebo se i mohou dotýkat rohem? Pokud jen společné strany, tak aby sousedily musí mít ty dvě buňky na jedné ose shodnou polohu, a na druhé se lišit o 1. |
||
kokolino Profil |
#3 · Zasláno: 11. 3. 2011, 23:00:14
Tori:
sousední = mají společnou stranu, nebo se i mohou dotýkat rohem? ako to myslíte ? ak myslíte, či môže byť susedné cez roh (čiže do kríža tak to nie ) Pokud jen společné strany, tak aby sousedily musí mít ty dvě buňky na jedné ose shodnou polohu, a na druhé se lišit o 1. toto mi je úplne jasné, ale nie je mi jasné ako podchytiť to, aby sa líšili o 1 foreach($auto as $line){ $okno=explode(' ',$line); if ($mul == '???'){$mul = trim($okno[1]);} if(trim($okno[1]!=$mul)) { $rozdel_x=substr($okno[0],0,-2); //x-ova os ziskava sa len pre slovo oko $rozdel_y=substr($okno[0],1,-1); //y-ova os ziskava sa len pre slovo oko //echo"<br>".trim($okno[1])." x= $rozdel_x , y= $rozdel_y"; if($rozdel_x==0 ){ sem pride to Y } elseif ($rozdel_x==1) echo"x==1"; } } len akou podmienkou to mám podchytiť ? moja úvaha bola probližne takáto,že na riadok 9 som dal toto : if(($rozdel_y!="" and $rozdel_y+1!="") and (($rozdel_y)+1)-$rozdel_y==1) samozrejme to nejde, lebo ono mi to nebere daľší prvok z "Y" ,ale len k nemu pričíta +1 a tak podmienka bude stlále splnená |
||
Tori Profil |
#4 · Zasláno: 12. 3. 2011, 17:47:54
Nedá se mi otevřít ten obrázek - myslel jste sousední v řadě, anebo i nad sebou? Každopádně stačí vlastně porovnávat jen proti předchozímu prvku, buď o jednu vlevo nebo nahoře.
Pokud tedy mají sousedit jen v řadě, udělejte si zásobník, kam se budou ukládat souřadnice (x,y) všech nalezených buněk s obsahem "oko". Pokud najdete "oko", poskládáte si souřadnice předchozí buňky. Pokud odpovídají hodnotě $zasobnik[0], našel se soused. Souřadnice aktuální buňky pak postrčíte do zásobníku (array_unshift). Pokud chcete najít i sousedy o patro výš, musí se její souřadnice hledat pomocí in_array. Vycházím z předpokladu, že to pole, které procházíte pomocí foreach je seřazené tak, aby se daly buňky procházet zleva doprava a odshora dolu. Jinak by se i soused odvedle musel hledat in_array. |
||
Časová prodleva: 13 let
|
0