webForumDet fria alternativet

gruppera ur array

.NET

1 svar · 203 visningar · startad av henrikjohansson

Medlem sedan maj 2000360 inlägg
Frågan#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.

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)