Egyéni feladat (c#), és nem igazán tudtam hozzádkezdeni. A feladat szövege: Adott a síkon középpontjának koordinátáival és sugarával egy kör. Adjuk meg a körbe eső egész koordinátájú pontok számát. Valami ötlet?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
egy kicsit átfogalmazom a feladatot: egy adott ponttól(a kör középpontja) maximum x (a kör sugara) távolságra lévő pontok közül válaszd ki, amiknek egész koordinátájú pont
tehát szépen sorban kiszámolod az egész koordinátájú pontok és a középpont közti távolságot, és ha ez kisebb vagy egyenlő a sugárral, akkor kiírod
persze hogy ne a végtelenségig számoljon, valahogy szűkíteni kell a kiszámítandó pontokat
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("HLegegyszerűbb szűkítés: fogod a befoglaló négyzetet (oldalak: középpont +- sugár, felfelé kerekítve, x és y tengelyen is), két forciklus ezen belül, távolságot megméred, ha kisebb, mint a sugár, akkor +1.");
}
}
int points = Enumerable.Range((int)Math.Truncate(x0 - r), 2* (int)Math.Truncate(r)).SelectMany(x => Enumerable.Range((int)Math.Truncate(y0 - r), 2*(int)Math.Truncate(r)).Select(y => new { _x = x, _y = y })).Where(p => Math.Sqrt(Math.Pow((x0 - p._x), 2) + Math.Pow((y0 - p._y), 2)) < r).Count();
double r; double x0; double y0; a paraméterek. A for-os megoldást pedig csináld meg Te :P
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!