using System;
using System.Linq;
using System.Collections.Generic;
namespace Suma
{
class Program
{
public static void Main(string[] args)
{
Queue<alumno> cola =new Queue<alumno>();//cola es Queue
//Stack<alumno> pila = new Stack<alumno>();//declarar pila
List<alumno> lista = new List<alumno>();//lista para borrar
string s = "ALMAZAN ESTRADA SEBASTIAN OLAF,1,ALVAREZ CISNEROS IZYALYTH ERNESTINA,2,ALVAREZ QUINTERO DANIEL ISAI,3,ARENAS GUTIERREZ CAROLINA,4,CHAVEZ GUTIERREZ FERNANDO SAUL,5,GOMEZ MORALES ANDRES ANGEL,6,GONZALEZ SAUCEDO KARINA ISELA,7,HERNANDEZ GUTIERREZ CAROLINA,8,HERNANDEZ LEAL BRENDA ITZEL,9,HERNANDEZ VALDEZ MARGARITA,10,MIÑON MILLAN LUZ AIDA,11,ORDOÑEZ MUÑOZ GUADALUPE MONTSERRAT,12,PEREZ JIMENEZ BRAYAN ROBERTO,13,SANCHEZ BELLO GUSTAVO,14,SANTIAGO MARTINEZ GONZALO,15,VAZQUEZ REGALADO SAUL HIRAM,16,El ISRRA,17";
var arre = s.Split (',');//quien recibe los recortes
for (int i = 0; i < arre.Length; i+=2) //repite derterminadas veces
{
alumno x = new alumno();// crear nuevo alumno
//x.nombre = arre[]
int res;
Math.DivRem(i,2,out res);
if (res==0)
{
x.nombre = arre[i];//propiedad nombre de alumno
x.nl = Convert.ToInt32(arre[i+1]); //numer de lista convertido a entero por que era string
//pila.Push(x);
cola.Enqueue(x);//Enqueue encola los datos que les pases
}
}
//pila.Pop();//elimina lo ultimo de la pila
//lista = pila.ToList();
lista = cola.ToList(); //pasa lo que hay en la cola a una lista
// for (int i = 0; i < lista.Count; i++)
// {
// Console.WriteLine(lista[i].nombre+" " + lista[i].nl);
// }
//
//lista.Remove(lista[2]);
//
Console.WriteLine(" *****LISTA ORIGINAL******");
Console.WriteLine("\t ");
foreach (alumno alu_f in lista)
{
Console.WriteLine(alu_f.nl+ ".- " + alu_f.nombre);
}
Console.WriteLine("\t ");
lista.Remove(lista[8]);
Console.WriteLine(" *****LISTA CON ELIMINACION******");
Console.WriteLine("\t ");
foreach (alumno alu_f in lista)
{
Console.WriteLine(alu_f.nl+ ".- " + alu_f.nombre);
}
}
}
public class alumno//crear una classe publica dinamica que se utilizara en la classe estatica de arriba
{
public string nombre { get; set; }
public int nl { get; set; }
}
}
domingo, 1 de diciembre de 2013
pilas y colas
Pila estructura de datos (Stack)
Stack (Pila) en C#
Haca les traigo un nuevo código, les daré una breve explicación de que es el "Stack" en ingles o "Pila" en español.
Una pila (stack en inglés) es una estructura de datos de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.
En cada momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, top of stack en inglés). La operación retirar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad), que pasa a ser el nuevo TOS.
Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar a retirarlo.
- Las pilas suelen emplearse en los siguientes contextos:
- Evaluación de expresiones en notación postfija (notación polaca inversa).
- Reconocedores sintácticos de lenguajes independientes del contexto
- Implementación de recursividad.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;// necesario para poder declarar un "STACK"
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Stack pila = new Stack();//instancio un nuevo objeto stack(pila)
pila.Push(1);//agrego un elemento a la pila
pila.Push(4);
pila.Push(1);
pila.Push(6);
pila.Push(3);
pila.Push(5);
pila.Push(9);
for (int i = 0; i < 3; i++)//itera 3 veces para ir retirando elementos de la pila
{
//pila.pop saca elementos de la pila
Console.WriteLine("Elemento retirado de la pila: " + pila.Pop());//imprime los elementos que va retirando el .pop
Console.WriteLine("el próximo elemento que queda en la pila es: " + pila.Peek());//muestra el elemento siguiente en la pila sin eliminarlo
Console.WriteLine("");
}
Console.ReadKey();
}
}
}
jueves, 14 de noviembre de 2013
Arreglos con Char, buscar arreglo (string)
#include <cstdlib>
#include <iostream>
#include <string.h>
#define ARRAY_SIZE 100 // se declara el arreglo de cuanto va a hacer puede ser X numero
using namespace std;
int main(int argc, char *argv[])
{
//declaramos el arreglo en este caso será un char por que va a ser texto
char laArray[50][ARRAY_SIZE];
int N; //numero del arreglo
int resultado;//para preguntar si quiere otra ejecución :)
strcpy(laArray[1],"ALMAZAN_ESTRADA_SEBASTIAN_OLAF");
strcpy(laArray[2],"ALVAREZ CISNEROS IZYALYTH ERNESTINA");
strcpy(laArray[3],"ALVAREZ QUINTERO DANIEL ISAI");
strcpy(laArray[4],"ARENAS GUTIERREZ CAROLINA");
strcpy(laArray[5],"CHAVEZ GUTIERREZ FERNANDO SAUL");
strcpy(laArray[6],"GOMEZ MORALES ANDRES ANGEL");
strcpy(laArray[7],"GONZALEZ SAUCEDO KARINA ISELA");
strcpy(laArray[8],"HERNANDEZ GUTIERREZ CAROLINA");
strcpy(laArray[9],"HERNANDEZ LEAL BRENDA ITZEL");
strcpy(laArray[10],"HERNANDEZ VALDEZ MARGARITA");
strcpy(laArray[11],"MIÑON MILLAN LUZ AIDA");
strcpy(laArray[12],"ORDOÑEZ MUÑOZ GUADALUPE MONTSERRAT");
strcpy(laArray[13],"PEREZ JIMENEZ BRAYAN ROBERTO");
strcpy(laArray[14],"SANCHEZ BELLO GUSTAVO");
strcpy(laArray[15],"SANTIAGO MARTINEZ GONZALO");
strcpy(laArray[16],"VAZQUEZ REGALADO SAUL HIRAM");
strcpy(laArray[17],"El ISRRA :) ");
do
{
cout<<" ***Este programa te brinda un nombre de acuerdo a su N. de lista .*** \n\n"<<endl;
cout<<"~Introduce el numero a buscar 1 al 17: "<<endl; //pide un numero X para mostrar resultado
cin>>N;
if (N>17)
{
cout<<"Este numero no se encuentra en la lista de Alumnos.\n\n"<<endl;//avisa que sobrepasa y no existe
cout<<"~Deseas buscar otro numero presiona 1 de lo contrario preciona 0"<<endl;// preguntar si quieres volver a ejecutar
cin>>resultado;
}
else
{
cout<<"El nombre que solicitaste es:"<<laArray[N]<<endl;//Muestra el contenido del arreglo
cout<<"\n"<<endl;
cout<<"~Deseas buscar otro numero presiona 1 de lo contrario presiona 0"<<endl;//vuelve a preguntar la ejecución
cin>>resultado;
}
}
while(resultado==1);// sirve para que si es 1 vuelve a preguntar
system("pause");
return 0;
}
domingo, 3 de noviembre de 2013
Agregar un nuevo arreglo
#include<iostream>
#include <string.h>
#define ARRAY_SIZE 60
using namespace std;
int main()
{
char laArray[55][ARRAY_SIZE];
int N;
int N_cartaNueva;
char nombre_Nuevo [20];
strcpy(laArray[1],"El Gallo");
strcpy(laArray[2],"El Diablo");
strcpy(laArray[3],"La Dama");
strcpy(laArray[4],"El Catrín");
strcpy(laArray[5],"El Paraguas");
strcpy(laArray[6],"La Sirena");
strcpy(laArray[7],"La Escalera");
strcpy(laArray[8],"La Botella");
strcpy(laArray[9],"El Barril");
strcpy(laArray[10],"El Árbol");
strcpy(laArray[11],"El Melón");
strcpy(laArray[12],"El Valiente");
strcpy(laArray[13],"El Gorrito");
strcpy(laArray[14],"La muerte");
strcpy(laArray[15],"La Pera");
strcpy(laArray[16],"La Bandera");
strcpy(laArray[17],"El Bandolón");
strcpy(laArray[18],"El Violoncelo");
strcpy(laArray[19],"La Garza");
strcpy(laArray[20],"El Pájaro");
strcpy(laArray[21],"La Mano");
strcpy(laArray[22],"La Bota");
strcpy(laArray[23],"La Luna");
strcpy(laArray[24],"El Cotorro");
strcpy(laArray[25],"El Borracho");
strcpy(laArray[26],"El Negrito");
strcpy(laArray[27],"El Corazón");
strcpy(laArray[28],"La Sandia");
strcpy(laArray[29],"El Tambor");
strcpy(laArray[30],"El Camarón");
strcpy(laArray[31],"Las Jaras");
strcpy(laArray[32],"El Músico");
strcpy(laArray[33],"La Araña");
strcpy(laArray[34],"El Soldado");
strcpy(laArray[35],"La Estrella");
strcpy(laArray[36],"El Cazo");
strcpy(laArray[37],"El Mundo");
strcpy(laArray[38],"El Apache");
strcpy(laArray[39],"El Nopal");
strcpy(laArray[40],"El Alacran");
strcpy(laArray[41],"La Rosa");
strcpy(laArray[42],"La Calavera");
strcpy(laArray[43],"La Campana");
strcpy(laArray[44],"El Cantarito");
strcpy(laArray[45],"El Venado");
strcpy(laArray[46],"El Sol");
strcpy(laArray[47],"LA Corona");
strcpy(laArray[48],"La Chalupa");
strcpy(laArray[49],"El Pino");
strcpy(laArray[50],"El Pescado");
strcpy(laArray[51],"La Palma");
strcpy(laArray[52],"La Maceta");
strcpy(laArray[53],"El Arpa");
strcpy(laArray[54],"La Rana");
cout<<" ***Este programa es un simulador de una lotería.*** \n\n"<<endl;
cout<<"~Introduce el numero mayor a 54 para agregar: "<<endl;
cin>>N;
if (N>54)
{
cout<<"No existe valor para este numero de carta, Agrega nomnbre a la nueva carta :"<<endl;
cin>>nombre_Nuevo;
cout<<"Agrega el nuevo numero de la carta"<<endl;
cin>>N_cartaNueva;
strcpy(laArray[N_cartaNueva],nombre_Nuevo);
cout<<"Desea buscar la carta que recien agrego?"<<endl;
cout<<"Ingresa el numero: "<<endl;
cin>>N;
cout<<laArray[N]<<endl;
}
else
{
cout<<laArray[N]<<endl;
}
}
declarar Arreglos con parámetros en c
Para pasar un arreglo completo como parámetro a un procedimiento a una función solo se manda el nombre del arreglo sin corchetes e índices, en el procedimiento o función que recibe solo se declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre del arreglo sin corchetes e índices.
Sin embargo es conveniente aclarar, que a diferencia de variables escalares normales, c++ no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en su lugar cpp sigue usando los datos que están en el arreglo original, es por esta razón que cambios que se le hagan a los datos del arreglo que recibe realmente se esta haciendo al arreglo original como lo muestra el siguiente ejemplo:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void proc1(int vector[]);
void main() {
clrscr();
//creando arreglo y cargandolo
int lista[5]= {10,11,12,13,14};
// mandandolo a procedimiento recordar como se manda sin []
proc1(lista);
// desplegando arreglo lista y observar que datos salen
for(int reng=0; reng<=4; reng++)
printf("%d \n",lista[reng]);
getchar();
} // termina main
void proc1(int vector[])
{
// sumandole 50 a lo que se tenia en arreglo lista
// es decir vector queda cargado con 60,61,62,63,64
for(int reng=0; reng<=4; reng++)
vector[reng]=vector[reng]+ 50;
// observar que no se regresa nada
}
Modificar un Arreglo en c++ y c
#include<iostream>
#include <string.h>
#define ARRAY_SIZE 60
using namespace std;
int main()
{
char laArray[55][ARRAY_SIZE];
int N;
int resultado;
int N_cartaNueva;
char nombre_Nuevo [20];
strcpy(laArray[1],"El Gallo");
strcpy(laArray[2],"El Diablo");
strcpy(laArray[3],"La Dama");
strcpy(laArray[4],"El Catrin");
strcpy(laArray[5],"El Paraguas");
strcpy(laArray[6],"La Sirena");
strcpy(laArray[7],"La Escalera");
strcpy(laArray[8],"La Botella");
strcpy(laArray[9],"El Barril");
strcpy(laArray[10],"El Arból");
strcpy(laArray[11],"El Melon");
strcpy(laArray[12],"El Valiente");
strcpy(laArray[13],"El Gorrito");
strcpy(laArray[14],"La muerte");
strcpy(laArray[15],"La Pera");
strcpy(laArray[16],"La Bandera");
strcpy(laArray[17],"El Bandolon");
strcpy(laArray[18],"El Violoncello");
strcpy(laArray[19],"La Garza");
strcpy(laArray[20],"El Pajaro");
strcpy(laArray[21],"La Mano");
strcpy(laArray[22],"La Bota");
strcpy(laArray[23],"La Luna");
strcpy(laArray[24],"El Cotorro");
strcpy(laArray[25],"El Borracho");
strcpy(laArray[26],"El Negrito");
strcpy(laArray[27],"El Corazón");
strcpy(laArray[28],"La Sandia");
strcpy(laArray[29],"El Tambor");
strcpy(laArray[30],"El Camarón");
strcpy(laArray[31],"Las Jaras");
strcpy(laArray[32],"El Músico");
strcpy(laArray[33],"La Araña");
strcpy(laArray[34],"El Soldado");
strcpy(laArray[35],"La Estrella");
strcpy(laArray[36],"El Cazo");
strcpy(laArray[37],"El Mundo");
strcpy(laArray[38],"El Apache");
strcpy(laArray[39],"El Nopal");
strcpy(laArray[40],"El Alacran");
strcpy(laArray[41],"La Rosa");
strcpy(laArray[42],"La Calavera");
strcpy(laArray[43],"La Campana");
strcpy(laArray[44],"El Cantarito");
strcpy(laArray[45],"El Venado");
strcpy(laArray[46],"El Sol");
strcpy(laArray[47],"LA Corona");
strcpy(laArray[48],"La Chalupa");
strcpy(laArray[49],"El Pino");
strcpy(laArray[50],"El Pescado");
strcpy(laArray[51],"La Palma");
strcpy(laArray[52],"La Maceta");
strcpy(laArray[53],"El Arpa");
strcpy(laArray[54],"La Rana");
do
{
cout<<" ***Este programa es un simulador de una lotería.*** \n\n"<<endl;
cout<<"~Introduce el numero a buscar 1 al 54: "<<endl;
cin>>N;
cout<<laArray [N]<<endl;
cout<<"Modifica el numero a buscar: "<<endl;
cin>>nombre_Nuevo;
strcpy(laArray [N], nombre_Nuevo);
cout<<"Comprueba tu modificación presionando de nuevo el numero que modificaste: "<<endl;
cin>>N;
cout<<laArray[N]<<endl;
cout<<"\n"<<endl;
cout<<"~Deseas buscar otro numero presiona 1 de lo contrario presiona 0"<<endl;
cin>>resultado;
}
while(resultado==1);
}
Agregar un arreglo en c++
#include<iostream>
#include <string.h>
#define ARRAY_SIZE 60
using namespace std;
int main()
{
char laArray[55][ARRAY_SIZE];
int N;
int resultado;
int N_cartaNueva;
char nombre_Nuevo [20];
strcpy(laArray[1],"El Gallo");
strcpy(laArray[2],"El Diablo");
strcpy(laArray[3],"La Dama");
strcpy(laArray[4],"El Catrin");
strcpy(laArray[5],"El Paraguas");
strcpy(laArray[6],"La Sirena");
strcpy(laArray[7],"La Escalera");
strcpy(laArray[8],"La Botella");
strcpy(laArray[9],"El Barril");
strcpy(laArray[10],"El Arból");
strcpy(laArray[11],"El Melon");
strcpy(laArray[12],"El Valiente");
strcpy(laArray[13],"El Gorrito");
strcpy(laArray[14],"La muerte");
strcpy(laArray[15],"La Pera");
strcpy(laArray[16],"La Bandera");
strcpy(laArray[17],"El Bandolon");
strcpy(laArray[18],"El Violoncello");
strcpy(laArray[19],"La Garza");
strcpy(laArray[20],"El Pajaro");
strcpy(laArray[21],"La Mano");
strcpy(laArray[22],"La Bota");
strcpy(laArray[23],"La Luna");
strcpy(laArray[24],"El Cotorro");
strcpy(laArray[25],"El Borracho");
strcpy(laArray[26],"El Negrito");
strcpy(laArray[27],"El Corazón");
strcpy(laArray[28],"La Sandia");
strcpy(laArray[29],"El Tambor");
strcpy(laArray[30],"El Camaron");
strcpy(laArray[31],"Las Jaras");
strcpy(laArray[32],"El Musico");
strcpy(laArray[33],"La Araña");
strcpy(laArray[34],"El Soldado");
strcpy(laArray[35],"La Estrella");
strcpy(laArray[36],"El Cazo");
strcpy(laArray[37],"El Mundo");
strcpy(laArray[38],"El Apache");
strcpy(laArray[39],"El Nopal");
strcpy(laArray[40],"El Alacran");
strcpy(laArray[41],"La Rosa");
strcpy(laArray[42],"La Calavera");
strcpy(laArray[43],"La Campana");
strcpy(laArray[44],"El Cantarito");
strcpy(laArray[45],"El Venado");
strcpy(laArray[46],"El Sol");
strcpy(laArray[47],"LA Corona");
strcpy(laArray[48],"La Chalupa");
strcpy(laArray[49],"El Pino");
strcpy(laArray[50],"El Pescado");
strcpy(laArray[51],"La Palma");
strcpy(laArray[52],"La Maceta");
strcpy(laArray[53],"El Arpa");
strcpy(laArray[54],"La Rana");
do
{
cout<<" ***Este programa es un simulador de una loteria.*** \n\n"<<endl;
cout<<"~Introduce el numero a buscar 1 al 54: "<<endl;
cin>>N;
if (N>54)
{
cout<<"No existe valor para este numero de carta, Agrege uno:"<<endl;
cin>>N_cartaNueva;
strcpy(laArray[N_cartaNueva],nombre_Nuevo);
cout<<"Desea buscar la carta que recien agrego?\n\n Ingresa el numero: "<<endl;
cin>>N;
}
else
{
cout<<laArray[N]<<endl;
}
\
cout<<laArray[N]<<endl;
cout<<"\n"<<endl;
cout<<"~Deseas buscar otro numero presiona 1 de lo contrario presiona 0"<<endl;
cin>>resultado;
}
while(resultado==1);
}