jueves, 23 de agosto de 2012

Triangulo de pascal en c sharp c#


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

--> namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }
        int[,] A;
        //creamos un boton y dos textbox
        //un textbox para ingresar el coeficiente de la x
        // otro para mostrar la matriz 
        //fijate bien que este activado 
        //el multiline en donde vas a mostrar la matriz

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                int filas = int.Parse(textBox1.Text);
                int columnas = filas + 1;
                A=new int[filas,columnas];
                for (int i = 0; i < filas; i++)
                {
                        A[i, 0] = 1;
                }
                for (int i = 1; i < filas; i++)
                {
                 
                        A[i, i+1] = 1;
                 
                }

/////////////comienza a llenar el triangulo de pascal
                if (filas >= 2)
                {
                    A[1, 1] = 2;
                    for (int i = 2; i < filas; i++)
                    {
                        for (int j = 1; j < columnas; j++)
                        {
                            if (A[i, j] != 1) // esta condicion es para asegurarnos que no se pase
                            {
                                A[i, j] = A[i - 1, j - 1] + A[i - 1, j];
                            }
                        }

                    }
                }
                else
                {
                    textBox2.Text = "debe de ingresar un dato positivo mayor a 1";
                }
            //aca imprimimos la matriz terminada
                for (int i = 0; i < filas; i++)
                {
                    textBox2.Text += " [";
                    for (int j = 0; j < columnas; j++)
                    {
                        textBox2.Text = textBox2.Text + " " + A[i, j];
                    }
                    textBox2.Text += " ] \r\n";
                }
            }
            catch (Exception)
            {
                MessageBox.Show("no valido");
            }
        }
    }
}


/// aunque se ve sencillo la lógica de este  algoritmos es muy interesante

No hay comentarios:

Publicar un comentario