Autor Zpráva
kokolino
Profil
č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
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
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])."&nbsp;&nbsp;&nbsp;&nbsp;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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0