A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalon Előző változat Következő változat | Előző változat | ||
|
tanszek:oktatas:szamitastechnika:gyakorlo_feladatok_1 [2023/10/17 17:22] knehez |
tanszek:oktatas:szamitastechnika:gyakorlo_feladatok_1 [2023/11/22 06:48] (aktuális) knehez |
||
|---|---|---|---|
| Sor 1: | Sor 1: | ||
| - | ====== Egyszerű gyakorló feladatok ====== | + | ====== Egyszerű általános gyakorló feladatok ====== |
| Sor 344: | Sor 344: | ||
| </sxh> | </sxh> | ||
| + | **10. Rajzoljunk egy kört a konzolra csillag karakterekből. ** | ||
| + | |||
| + | Ebben a játékos feladatban, legyen egy circle() függvény ami kiszámolja egy adott pont távolságát a kör középpontjától, majd összehasonlítja a sugárral. Ha a távolság közel van a sugárhoz, a függvény közelítőleg 0-t ad vissza. | ||
| + | |||
| + | <sxh c> | ||
| + | #include <stdio.h> | ||
| + | #include <math.h> | ||
| + | const float centerX = 0.5; | ||
| + | const float centerY = 0.5; | ||
| + | |||
| + | const int screenSizeX = 50; | ||
| + | const int screenSizeY = 30; | ||
| + | |||
| + | float circle(float x, float y, float r) | ||
| + | { | ||
| + | return (x - centerX) * (x - centerX) + (y - centerY) * (y - centerY) - r * r; | ||
| + | } | ||
| + | |||
| + | int main() { | ||
| + | for(int j = 0; j <= screenSizeY; j++) | ||
| + | { | ||
| + | for(int i = 0; i <= screenSizeX; i++) | ||
| + | { | ||
| + | float x = (float)i / screenSizeX; | ||
| + | float y = (float)j / screenSizeY; | ||
| + | if(fabs(circle(x, y, 0.3f)) < 0.01f) | ||
| + | { | ||
| + | printf("*"); | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | printf(" "); | ||
| + | } | ||
| + | } | ||
| + | printf("\n"); | ||
| + | } | ||
| + | return 0; | ||
| + | } | ||
| + | </sxh> | ||
| + | |||