Рубрики

Нарисуйте круг без арифметики с плавающей точкой

Учитывая радиус круга, нарисуйте круг без использования арифметики с плавающей точкой.

Следующая программа использует простую концепцию. Пусть радиус круга равен r. Рассмотрим квадрат размера (2r + 1) * (2r + 1) вокруг круга, который нужно нарисовать. Теперь пройдитесь по каждой точке внутри площади. Для каждой каждой точки (x, y), если (x, y) находится внутри круга (или x ^ 2 + y ^ 2 <r ^ 2), то выведите его, в противном случае выведите пробел.

C ++

// C ++ программа для рисования круга без
// арифметика с плавающей точкой
#include <stdio.h>

  

void drawCircle(int r)

{

    // Рассмотрим прямоугольник размером N * N

    int N = 2*r+1;

  

    int x, y;  // Координаты внутри прямоугольника

  

    // Рисуем квадрат размером N * N.

    for (int i = 0; i < N; i++)

    {

        for (int j = 0; j < N; j++)

        {

            // Начинаем с крайней левой точки

            x = i-r;

            y = j-r;

  

            // Если эта точка находится внутри круга, выведите ее

            if (x*x + y*y <= r*r+1 )

                printf(".");

            else // Если за пределами круга, печатать пробел

                printf(" ");

            printf(" ");

        }

        printf("\n");

    }

}

  
// Программа драйвера для проверки вышеуказанной функции

int  main()

{

    drawCircle(8);

    return 0;

}

Джава

// Java программа для рисования круга без
// арифметика с плавающей точкой

  

import java.io.*;

  

class GFG {

static void drawCircle(int r) 

    // Рассмотрим прямоугольник размером N * N

    int N = (2*r+1); 

  

    int x, y; // Координаты внутри прямоугольника

  

    // Рисуем квадрат размером N * N.

    for (int i = 0; i < N; i++) 

    

        for (int j = 0; j < N; j++) 

        

            // Начинаем с крайней левой точки

            x = i-r; 

            y = j-r; 

  

            // Если эта точка находится внутри круга, выведите ее

            if (x*x + y*y <= r*r+1

                    System.out.print("."); 

            else // Если за пределами круга, печатать пробел

                    System.out.print(" "); 

                System.out.print(" "); 

        

            System.out.println(); 

    

  
// Программа драйвера для проверки вышеуказанной функции

    public static void main (String[] args) {

        drawCircle(8); 

    }

// Этот код предоставлен ajit.
}

C #

// C # программа для рисования круга без
// арифметика с плавающей точкой

  

using System;

  

public class GFG{

    static void drawCircle(int r) 

    // Рассмотрим прямоугольник размером N * N

    int N = (2*r+1); 

  

    int x, y; // Координаты внутри прямоугольника

  

    // Рисуем квадрат размером N * N.

    for (int i = 0; i < N; i++) 

    

        for (int j = 0; j < N; j++) 

        

            // Начинаем с крайней левой точки

            x = i-r; 

            y = j-r; 

  

            // Если эта точка находится внутри круга, выведите ее

            if (x*x + y*y <= r*r+1 ) 

                    Console.Write("."); 

            else // Если за пределами круга, печатать пробел

                    Console.Write(" "); 

                Console.Write(" "); 

        

            Console.WriteLine(); 

    

  
// Программа драйвера для проверки вышеуказанной функции

    static public void Main (){

        drawCircle(8); 

    }

// Этот код предоставлен Sachin.
}

PHP

<?php
// PHP программа для рисования круга без
// арифметика с плавающей точкой

  

function drawCircle($r)

{

    // Рассмотрим прямоугольник

    // размером N * N

    $N = 2 * $r + 1;

  

    // Координаты внутри

    // прямоугольник

    $x; $y

  

    // Рисуем квадрат размером N * N.

    for ($i = 0; $i < $N; $i++)

    {

        for ($j = 0; $j < $N; $j++)

        {

            // Начинаем слева

            // самая угловая точка

            $x = $i - $r;

            $y = $j - $r;

  

            // Если эта точка находится внутри

            // круг, распечатай

            if ($x * $x + $y * $y <= $r * $r + 1 )

                echo ".";

              

            // Если вне круга,

            // печатать пространство

            else

                echo " ";

            echo " ";

        }

        echo "\n";

    }

}

  
// Код драйвера
drawCircle(8);

  
// Этот код предоставлен aj_36
?>


Выход :

Рекомендуемые посты:

Нарисуйте круг без арифметики с плавающей точкой

0.00 (0%) 0 votes