Dibujar Una Circunferencia En Una Matriz 2D En C#

En este programa de C#, declaramos un array bidimensional de 70x20 caracteres y dibujamos una circunferencia con un radio de 8 en su interior. El programa calcula los puntos que componen la circunferencia utilizando la fórmula matemática del círculo y los representa en el array bidimensional. A continuación, el programa muestra el array con la circunferencia dibujada en pantalla. Este ejercicio demuestra el uso de funciones trigonométricas y la manipulación de arrays en C#.



Grupo

Matrices, estructuras y cadenas de C#

Objectivo

1. Declare un array bidimensional de 70x20.
2. Use la fórmula matemática para calcular los puntos de la circunferencia con radio 8.
3. Convierta el ángulo de grados a radianes.
4. Use `Math.Cos` y `Math.Sin` para calcular las posiciones x e y de los puntos de la circunferencia.
5. Muestre el array bidimensional, mostrando la circunferencia dibujada.

Escriba un programa en C# que declare, cree un array bidimensional de caracteres de 70x20, dibuje una circunferencia o radio 8 dentro de él y lo muestre en pantalla.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

class Program
{
    static void Main()
    {
        // Define a 70x20 two-dimensional array
        char[,] grid = new char[70, 20];

        // Define the center of the circumference
        int xCenter = 35; // Horizontal center of the array (middle)
        int yCenter = 10; // Vertical center of the array (middle)

        // Define the radius of the circumference
        int radius = 8;

        // Initialize the array with empty spaces (' ')
        for (int i = 0; i < 70; i++)
        {
            for (int j = 0; j < 20; j++)
            {
                grid[i, j] = ' '; // Empty space
            }
        }

        // Draw the circumference: 72 points (360 degrees / 5 degrees step)
        for (int angle = 0; angle < 360; angle += 5)
        {
            // Convert angle to radians
            double radians = angle * Math.PI / 180.0;

            // Calculate the x and y coordinates for the circumference
            int x = (int)(xCenter + radius * Math.Cos(radians));
            int y = (int)(yCenter + radius * Math.Sin(radians));

            // Ensure the coordinates are within bounds of the array
            if (x >= 0 && x < 70 && y >= 0 && y < 20)
            {
                grid[x, y] = 'X'; // Mark the point on the grid
            }
        }

        // Display the content of the array
        Console.WriteLine("The grid with a circumference of radius 8:");
        for (int i = 0; i < 20; i++)
        {
            for (int j = 0; j < 70; j++)
            {
                Console.Write(grid[j, i]); // Print each character
            }
            Console.WriteLine(); // New line after each row
        }
    }
}

 Output

The grid with a circumference of radius 8:
                                                                              
                                                                              
                           X                                                    
                        X     X                                                
                      X           X                                          
                     X             X                                         
                      X           X                                          
                        X     X                                                
                           X                                                    
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              

Comparte este ejercicio de C#

Practica más ejercicios C# de Matrices, estructuras y cadenas de C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..