gruppera ur array

.NET

1 svar · 218 visningar · startad av henrikjohansson

Medlem sedan maj 2000360 inlägg
Trådstart#1

Jag har en endimensionell array som innehåller massa X och Y koordinater

(använder c#)

för att plocka ur alla värden använder jag mig av
foreach (Point p in minlista)
{
//bla bla
}

Nu vill jag plocka ut grupper ur denna arrayen där x och/eller y skiljer max 2

skickar med en bild med :) där alla röda pluppar är värden i arrayen och det gröna är hur den skall gruppera.. det räcker med att ha fyrkantiga grupper...

Hur löser jag detta med kod?
Har stirrat mig blind på diverse test jag gjort.. har inte lyckats riktigt bra så därför frågar jag här bland proffsen.

bild.png
Medlem sedan dec. 2000399 inlägg
#2

Här kommer en skiss på hur man kan göra

for (int i = 0;i < arr.length;i++) {
	for (int j = i;j < arr.length;j++) {
		if (Math.Sqrt(Math.Pow(p[i].x - p[j].x, 2) +
Math.Pow(p[i].y - p[j].y, 2)) <= 2) {
			result.add(p[i]);
			result.add(p[j]);
		}
	}
}
// Result kan vara t ex en ArrayList

EDIT: Ändra villkoret för if:en. Inte säker på att det fungerar som du vill.

266 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)