Рубрики

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

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

Следующая программа использует простую концепцию. Пусть радиус круга равен 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-код для демонстрации для рисования
// круг без плавающих
// точечная арифметика

  

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 arg[])

{

    drawCircle(8);

}
}

  
// Этот код добавлен
// Анант Агарвал.

python3

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

  

def drawCircle(r):

  

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

    N = 2 * r + 1

  

    # Нарисуйте квадрат размером N * N.

    for i in range(N):

        for j in range(N):

  

            # Начните с самого левого угла

            x = i - r

            y = j - r

  

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

            # распечатать

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

                print(".", end = " ")

                  

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

            else:

                print(" ", end = " ")

        print()

  
Код водителя

if __name__ == "__main__":

    drawCircle(8)

  
# Этот код добавлен
# by vibhu4agarwal

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); 

      

       

    }

// Этот код добавлен
// от ajit.
}

PHP

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

  

function drawCircle($r)

{

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

    $N = 2 * $r + 1;

  

    $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);

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


Выход:

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

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

0.00 (0%) 0 votes