C# Ejercicios Pilas y Colas Visual Studio P
Enviado por Carla Parada Aguilera • 20 de Marzo de 2019 • Tarea • 3.030 Palabras (13 Páginas) • 763 Visitas
PILAS
FORM
namespace ED_I_Pilas_Clases
{
public partial class Form1 : Form
{
cl_pilas pila = new cl_pilas();// creamos una variable/dato con nuestra clase
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
pila.tamanio_pila = int.Parse(txt_tamanio.Text);// el tamanho de nuestra ‘pila’ representado con la caracteristica ‘tamanio_pila’ sera el dato que introduzcamos el el text box el cual lo transformaremos a entero
pila.pila = new int[pila.tamanio_pila];// crearemos un vector ‘pila’ y definimos el tamanho del mismo agrgandole la caracteristica [pila.tamanio_pila]
pila.inicio = 0;//nuestro vector pila tendrá la caracteristica ‘inicio’ igual a 0
pila.ultimo = 0;//nuestro vector ‘pila’ tendrá la caracteristica ‘ultimo’ igual a 0
MessageBox.Show("Pila Definida”);// en un Mensaje mostramos que la pila ha sido definida
}
public void mostrar()// creamos el metodo ‘mostrar’
{
listBox1.Items.Clear();// limpiamos el list box
for (int i = 0; i < pila.pila.Length; i++)// en un for definimos entero i con valor de o, en donde i sera menor al tamanho de la pila y se incrementara de uno en uno
{
listBox1.Items.Add(pila.pila[i]);// en el list box se ira mostrando los datos ingresados
}
}
private void button2_Click(object sender, EventArgs e)
{
pila.agregar(Convert.ToInt32(txt_dato.Text));//llamamos a la caracteristica ‘agregar’ y convertimos el dato ingresado en el textbox a entero
mostrar();//llamamos a la caracteristica mostrar
if(pila.verificar_llena() == 0)// si la caracteristica ‘verificar_llena’ devuelve 0
{
MessageBox.Show("No Hay mas fichas”);// mostrar un mensaje que diga ‘No hay mas Fichas’
}
}
private void button3_Click(object sender, EventArgs e)
{
pila.eliminar();//llamamos al metodo eliminar
mostrar();//llamamos al metodo mostrar
if(pila.verificar_vacia() == 1)//si la caracteristica ‘verificar_vacia’ devuelve 1
{
MessageBox.Show("La pila esta Vacia”);// mostrar en un mensaje ‘La cola pila esta vacía’
}
}
}
}
CLASS //creamos una clase
namespace ED_I_Pilas_Clases
{
class cl_pilas
{
public int tamanio_pila { get; set; } // creamos la caracteristica tamanio tipo entero
public int[] pila { get; set; }// creamos la caracteristica pila (vector) tipo entero
public int inicio { get; set; }// creamos la característica inicio tipo entero
public int ultimo { get; set; }//creamos la caracteristica ultimo tipo entero
public int dato { get; set; }// creamos la caracteristica dato tipo entero
public int verificar_llena()// metodo para verificar si la pila esta llena (debe devolver un dato
{
if (ultimo < pila.Length)//si el valor de ‘ultimo’ es menor al tamaño de la pila
{
return 1;// devolver 1
}
else// si no
{
return 0;// devolver 0
}
}
public int verificar_vacia()// metodo para verificar si la pila esta vacía (debe devolver un dato)
{
if (ultimo == 0)//si el valor de ‘ultimo’ es igual a 0
{
return 1;//devolver 1
}
else//sino
{
return 0;//devolver 0
}
}
public int agregar(int dato)// metodo para agregar datos a la pila (debe devolver un dato) {
if (verificar_llena() == 1)// si el metodo ‘verificar llena’ devuelve el valor de 1
{
pila[ultimo] = dato;//el vector ‘pila’ de posición [el valor ‘ultimo’], guardara el dato que se ha introducido
ultimo++;// el valor de ‘ultimo’ incrementara de uno en uno
return 1;// devolver 1
}
else
{
return 0;// devolver 0 (es decir que se dejara de realizar el metodo)
}
}
public void eliminar()// metodo para eliminar datos (el ultimo en llegar, el primero en salir)
{
pila[ultimo-1] = 0;// el valor del vector ‘pila’ de posición [el valor de ultimo menos uno] será igual a 0
ultimo—;//el valor de ‘ultimo’ disminuye de uno en uno
...