#14 C# Ordenamiento QuickSort
Programa que usa el algoritmo QuickSort para ordenar valores random
class Program
{
int h;
int[] vector;
private void mostrar()
{
Console.WriteLine("\nVector ordenados en forma ascendente");
for (int i = 0; i < h; i++)
{
Console.Write("\nValor= "+ vector[i]);
}
Console.ReadLine();
}
public void llenar(int n)
{
h = n;
vector = new int[h];
Random r = new Random();
for (int i = 0; i < h; i++)
{
vector[i] = r.Next(0,3000);
Console.Write("\nValor random= "+vector[i]);
}
quicksort(vector, 0, h - 1);
mostrar();
}
static void Main(string[] args)
{
int n;
Console.WriteLine("Quick Sort");
Console.Write("Cuantos longitud del vector: ");
n = Int32.Parse(Console.ReadLine());
Program h = new Program();
h.llenar(n);
h.mostrar();
Console.ReadKey();
}
public void quicksort(int[] vec,int izq, int der)
{
int i, j, pivote, aux;
i = izq;
j = der;
pivote = vec[(izq + der) / 2];
do
{
while (vec[i] < pivote && i < der)
{
i++;
}
while (vec[j] > pivote && j > izq)
{
j--;
}
if (i <= j)
{
aux = vec[i];
vec[i] = vec[j];
vec[j] = aux;
i++;
j--;
}
} while (i <= j);
if (izq < j)
quicksort(vec,izq, j);
if (i < der)
quicksort(vec,i, der);
}
}
#13 C# Cadena codificada
Botón que codifica
private void button1_Click(object sender, EventArgs e)
{
StringBuilder cad = new StringBuilder(textBox1.Text);
int val = 1;
for (int i = 0; i < cad.Length; i++)
{
if (cad[i] >= 10 && cad[i] <= 122)
{
if (cad[i] == 122)
cad[i] = (char)(cad[i] - 10);
cad[i] = (char)(cad[i] + val);
}
}
textBox2.Text = Convert.ToString(cad);
}
Boton que descodifica
private void button2_Click(object sender, EventArgs e)
{
StringBuilder cad = new StringBuilder(textBox2.Text);
int val = 1;
for (int i = 0; i < cad.Length; i++)
{
if (cad[i] >= 10 && cad[i] <= 122)
{
if (cad[i] == 10)
cad[i] = (char)(cad[i] + 10);
cad[i] = (char)(cad[i] - val);
}
}
textBox3.Text = Convert.ToString(cad);
}
Clase cadena
class Cadena
{
char[] cad;
public Cadena(int n)
{
cad = new char[n];
}
public Cadena(Char[] aux)
{
cad = new char[aux.Length];
for (int i = 0; i < aux.Length; i++)
cad[i] = aux[i];
}
public Cadena(Cadena c)
{
cad = new char[c.tam];
for (int i = 0; i < c.tam; i++)
cad[i] = c[i];
}
public char this[int i]
{
get
{
return cad[i];
}
set
{
cad[i] = value;
}
}
public Cadena subcadena(int pos, int num)
{
Cadena sub = new Cadena(num);
for (int i = pos, j = 0; j < num; i++, j++)
sub[j] = cad[i];
return sub;
}
public int tam
{
get
{
return cad.Length;
}
}
public Cadena(string str)
{
cad = new char[str.Length];
//for (int i = 0; i < str.Length; i++)
// cad[i] = str[i];
cad = str.ToCharArray();
}
public Cadena(StringBuilder str)
{
cad = new char[str.Length];
for (int i = 0; i < str.Length; i++)
cad[i] = str[i];
}
public void copiar(Cadena c)
{
c = new Cadena(cad);
}
public void copiar(Cadena c1, Cadena c2)
{
c1 = new Cadena(c2);
}
public char[] encriptar()
{
Cadena enc = new Cadena(cad);
//for (int i = 0; i < cad.Length; i++)
// cad[i] -= '6';
//return cad;
int val = 1;
for (int i = 0; i < cad.Length; i++)
{
if (cad[i] >= 10 && cad[i] <= 122)
{
if (cad[i] == 122)
cad[i] = (char)(cad[i] - 6);
cad[i] = (char)(cad[i] + val);
}
}
return cad;
}
public char[] desencriptar()
{
Cadena enc = new Cadena(cad);
//for (int i = 0; i < cad.Length; i++)
// cad[i] += '6';
//return cad;
int val = 1;
for (int i = 0; i < cad.Length; i++)
{
if (cad[i] >= 10 && cad[i] <= 122)
{
if (cad[i] == 10)
cad[i] = (char)(cad[i] + 6);
cad[i] = (char)(cad[i] - val);
}
}
return cad;
}
public void invertir()
{
for (int i = 0; i < cad.Length; i++)
if (cad[i] >= 'a' && cad[i] <= 'z')
cad[i] -= ' ';
else if (cad[i] >= 'A' && cad[i] <= 'Z')
cad[i] += ' ';
}
public char[] a_minus()
{
for (int i = 0; i < cad.Length; i++)
if (cad[i] >= 'A' && cad[i] <= 'Z')
cad[i] += ' ';
return cad;
}
public char[] a_mayus()
{
for (int i = 0; i < cad.Length; i++)
if (cad[i] >= 'a' && cad[i] <= 'z')
cad[i] -= ' ';
return cad;
}
public bool es_mayus(int i)
{
if (Char.ToUpper(cad[i]) == cad[i])
{
return true;
}
else
return false;
}
public bool es_minus(int i)
{
if (Char.ToLower(cad[i]) == cad[i])
{
return true;
}
else
return false;
}
public static bool es_digito(char car)
{
if (Char.IsDigit(car))
return true;
else
return false;
}
public bool esta_en(char c)
{
int j = 0;
for (int i = 0; i < cad.Length; i++)
if (c == cad[i])
j++;
if (j < 0)
return true;
else
return false;
}
public int veces_que_esta(char c)
{
int j = 0;
for (int i = 0; i < cad.Length; i++)
if (c == cad[i])
j++;
return j;
}
public override string ToString()
{
string cade = "";
for (int i = 0; i < cad.Length; i++)
cade += cad[i];
return cade;
}
}
#12 C# Cola simple plantilla
namespace cola_simple_plantilla
{
class Cola
{
T[] vec;
int p;
int u;
int tam;
public Cola(int n)
{
p = u = -1;
tam = n;
vec = new T[tam];
}
public bool esta_llena()
{
if (u >= tam - 1)
return true;
return false;
}
public bool esta_vacia()
{
if (p == -1)
return true;
return false;
}
public bool Agregar(T dato)
{
if (!esta_llena())
{
vec[++u] = dato;
if (u == 0)
p = 0;
return true;
}
return false;
}
public bool extraer(ref T dato, T n)
{
if (!esta_vacia())
{
dato = vec[p];
vec[p] = n;
if (p == u)
{
p = -1;
u = p;
}
else
p++;
return true;
}
return false;
}
public void mostrar(DataGridView dgv)
{
dgv.ColumnCount = tam;
for (int i = 0; i < tam; i++)
{
dgv[i, 0].Value = vec[i];
}
}
}
}
namespace cola_simple_plantilla
{
public partial class Form1 : Form
{
Cola cola;
int i;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBox1.Text);
cola = new Cola(n);
}
private void button2_Click(object sender, EventArgs e)
{
int num = Convert.ToInt32(textBox2.Text);
if(cola.Agregar(num))
{
cola.mostrar(dataGridView1);
}
else
{
MessageBox.Show("Cola llena");
i++;
}
}
private void button3_Click(object sender, EventArgs e)
{
int dato = 0;
if(cola.extraer(ref dato,0))
{
label1.Text = dato.ToString();
cola.mostrar(dataGridView1);
}
else
{
MessageBox.Show("Cola vacia");
}
}
}
}
#11 C# Pila Enlazada Visual
class N
{
public int v;
public N s;
public N(int vv, N ss)
{
v = vv;
s = ss;
}
}
class PE
{
N u;
public PE()
{
u = null;
}
public void metodo1(int vv)
{
N nu = new N(vv, u);
u = nu;
}
public int metodo2()
{
N naux;
int val;
if (u == null)
return -1;
naux = u;
u = naux.s;
val = naux.v;
return val;
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.RowCount = 4;
dataGridView1.Rows.Add();
}
PE exam = new PE();
int tam = 4;
private void button2_Click(object sender, EventArgs e)
{
if(tam>=0&&tam<4)
{
textBox2.Text = exam.metodo2().ToString();
dataGridView1[0, tam].Value = "";
dataGridView1[0, ++tam].Value = "";
}
else
{
dataGridView1[0, tam].Value = "no hay datos";
return;
}
if (tam >= 0)
dataGridView1[0, tam].Value = "Tope";
}
private void button1_Click(object sender, EventArgs e)
{
int dato;
dato = Convert.ToInt32(textBox1.Text);
textBox1.Text = "";
if(tam!=0)
{
exam.metodo1(dato);
dataGridView1[0, tam].Value = "";
dataGridView1[0, tam--].Value = dato;
}
else
{
dataGridView1[0, tam].Value = "Lista llena";
return;
}
if (tam <= 0)
dataGridView1[0, tam].Value = "Tope";
textBox1.Select();
}
}
#10 C# Pila Enlazada
class N
{
public int v;
public N s;
public N(int vv,N ss)
{
v = vv;
s = ss;
}
}
class PE
{
N u;
public PE()
{
u = null;
}
public void metodo1(int vv)
{
N nu = new N(vv, u);
u = nu;
}
public int metodo2()
{
N naux;
int val;
if (u == null)
return -1;
naux = u;
u = naux.s;
val = naux.v;
return val;
}
}
class Program
{
static void Main(string[] args)
{
PE objeto = new PE();
objeto.metodo1(20);
Console.WriteLine("Valor enviado: " + 20);
objeto.metodo1(10);
Console.WriteLine("Valor enviado: " + 10);
objeto.metodo1(40);
Console.WriteLine("Valor enviado: " + 40);
Console.WriteLine("\n\n");
Console.WriteLine("Valor retornado : " + objeto.metodo2());
Console.WriteLine("Valor retornado : " + objeto.metodo2());
Console.WriteLine("Valor retornado : " + objeto.metodo2());
if (objeto.metodo2() == -1)
Console.WriteLine("Valor retornado : " + "no hay datos");
Console.ReadKey();
}
}
#9 C# Colas
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Colas
{
class Program
{
static void Main(string[] args)
{
int i, n, dato = 0;
Console.Write("¿CUANTOS ELEMENTOS? ");
n = Convert.ToInt32(Console.ReadLine());
Cola cola = new Cola(n);
Random r = new Random();
Console.WriteLine("\nINCERTANDO EN LA COLA");
for (i = 0; i < n; i++)
{
dato = r.Next(100);
if (cola.agregar(dato))
Console.WriteLine("Dato agregado: " + dato);
else
{
Console.WriteLine("Desbordamiento, cola llena");
}
}
Console.WriteLine("\nEXTRAYENDO DATOS DE LA COLA");
while (cola.extraer(ref dato))
{
Console.WriteLine("Dato extraido: " + dato);
}
Console.ReadKey();
}
}
class Cola
{
//ATRIBUTOS
int[] vec;
int p, u, tam;
//CONSTRUCTOR
public Cola(int n)
{
p = u = -1;
tam = n;
vec = new int[tam];
}
public bool esta_llena()
{
if (u >= tam - 1)
return true;
return false;
}
public bool esta_vacia()
{
if (p == -1)
return true;
return false;
}
public bool agregar(int dato)
{
if (!esta_llena())
{
vec[++u] = dato;
if (u == 0)
p = 0;
return true;
}
return false;
}
public bool extraer(ref int dato)
{
if (!esta_vacia())
{
dato = vec[p];
if (u == p)
{
p = u = -1;
}
else
{
p++;
}
return true;
}
return false;
}
}
}
#8 C# Minioffice V 1.0
CODIGO DE LA FORMA 1
//CODIGO AL INICIAR
public Form1()
{
InitializeComponent();
pictureBox1.Image = Image.FromFile("flecha.png");
}
//CODIGO DEL BOTON QUE ABRE EL EDITOR DEL TEXTO
private void bTexto_Click(object sender, EventArgs e)
{
textoform form = new textoform();
form.ShowDialog();
}
//CODIGO QUE HABRE EL REPRODUCTOR
private void bmusic_Click(object sender, EventArgs e)
{
musicareproductor form = new musicareproductor();
form.ShowDialog();
}
//CODIGO DEL EDITOR
string captura;
private void pegarCtrlVToolStripMenuItem_Click(object sender, EventArgs e)
{
int Line = textBox1.GetLineFromCharIndex(textBox1.SelectionStart) + 1;
int Column = textBox1.SelectionStart - textBox1.GetFirstCharIndexOfCurrentLine();
string portapa = Clipboard.GetText();
this.textBox1.Text = this.textBox1.Text.Insert(this.textBox1.SelectionStart, portapa);
}
///////////////////////////////////////////
private void nuevoToolStripMenuItem_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
captura = "Ya hay texto, guardalo o no";
var result = MessageBox.Show("Nuevo documento", captura, MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (result == DialogResult.OK)
{
textBox1.Text = "";
}
}
else
{
captura = "Blanco -Archivo nuevo- sigue";
var result = MessageBox.Show("Nuevo documento", captura, MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
}
}
private void copiarCtrlToolStripMenuItem_Click(object sender, EventArgs e)
{
Clipboard.Clear();
Clipboard.SetText(textBox1.SelectedText);
}
private void imprimirToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
PrintDialog printDialog1 = new PrintDialog();
printDialog1.Document = printDocument1;
DialogResult result = printDialog1.ShowDialog();
if (result == DialogResult.OK)
{
printDocument1.Print();
}
}
catch
{
MessageBox.Show("Nop, Algo salio mal, recuerda que es la primera version ten calma lo arreglaremos");
}
}
private void printDocument1_PrintPage(object sender,System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawString(textBox1.Text, new Font("Arial", 14, FontStyle.Regular), Brushes.Black, 4, 4);
}
private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
{
textBox1.SelectedText = "\r";
}
private void fechaYHoraToolStripMenuItem_Click(object sender, EventArgs e)
{
this.textBox1.Text = this.textBox1.Text.Insert(this.textBox1.SelectionStart, DateTime.Now.ToString());
}
private void cortarCtrlXToolStripMenuItem_Click(object sender, EventArgs e)
{
Clipboard.Clear();
Clipboard.SetText(textBox1.SelectedText);
textBox1.SelectedText = "\r";
}
private void printDocument1_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawString(textBox1.Text, textBox1.Font, Brushes.Black, 100, 100);
}
public void limpiar()
{
textBox1.Clear();
}
public void save()
{
try
{
saveFileDialog1.Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter archivo = File.CreateText(saveFileDialog1.FileName);
archivo.Write(textBox1.Text);
archivo.Close();
}
limpiar();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
public void abrir()
{
limpiar();
try
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string archivo = openFileDialog1.FileName;
FileStream flujoarchivo = new FileStream(archivo, FileMode.Open, FileAccess.Read);
StreamReader lector = new StreamReader(flujoarchivo);
while (lector.Peek() >= 0)
{
textBox1.Text += lector.ReadLine() + "\r\n";
}
lector.Close();
}
}
catch (Exception V)
{
MessageBox.Show(V.StackTrace);
}
}
private void acercaDeToolStripMenuItem_Click(object sender, EventArgs e)
{
textyayudaacercade form = new textyayudaacercade();
form.ShowDialog();
}
/////////////////////////////////////////////////////////////////////////
////////////CODIGO DEL REPRODUCTOR//////////////////////////////////////
private void abrirToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog abrir = new OpenFileDialog();
abrir.FileName = "Archivo Nuevo";
//abrir.Filter="archivos mp3|*.mp3|archivo mp4|*.mp4|archivo avi|*.avi";
abrir.FilterIndex = 1;
if (abrir.ShowDialog() == DialogResult.OK)
{
axWindowsMediaPlayer1.URL = (abrir.FileName);
}
}
private void bOTPLAY_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.play();
}
private void bOTSTOP_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
}
#7 C# La Fecha...
static void Main(string[] args)
{
string date = DateTime.Today.ToLongDateString();
Console.WriteLine("Como se llama?");
string user = Console.ReadLine();
Console.Write("Hola " + user + " Hoy es " + date);
Console.ReadKey();
}
#6 C# Listas Enlazadas
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace listas_enlazadas
{
class Nodo
{
public int valor;
public Nodo sig;
public Nodo(int v, Nodo s)
{
valor = v;
sig = s;
}
}
class ListaEnlazada
{
Nodo primero;
Nodo actual;
public ListaEnlazada()
{ }
public void Insertar(int v)
{
Nodo anterior;
if (ListaVacia() || primero.valor > v)
{
primero = new Nodo(v, primero);
}
else
{
anterior = primero;
while (anterior.sig != null && anterior.sig.valor <= v)
anterior = anterior.sig;
anterior.sig = new Nodo(v, anterior.sig);
}
}
public void Mostrar()
{
Nodo aux;
aux = primero;
while(aux !=null)
{
Console.Write(aux.valor + " ->");
aux = aux.sig;
}
Console.Write(" null \n");
}
public void Siguiente()
{
if (actual != null)
actual = actual.sig;
}
public void Primero()
{
actual = primero;
}
public Boolean Borrar(int v)
{
Nodo anterior, nodo;
nodo = primero;
anterior = null;
while(nodo!=null&&nodo.valor
;-) Aveces pasa.....
No to en la vida es programar, aqui un poco de humor.
Cuando no compila....
Suele pasar....
Que facil lo ponen, no? Peliculas vs Realidad
Cuando no compila....
Suele pasar....
Que facil lo ponen, no? Peliculas vs Realidad
#5 C# Tablas de Multiplicar {Visual}
App para mostrar las tablas de multiplicar en visual C#.
Codigo del Boton Mostrar
Codigo del Boton Mostrar
{
int num = (int)numericUpDown1.Value;
Graphics g = this.CreateGraphics();
int x = 20, y = 30;
Font letra = new Font("Arial", 30);
for (int i = 1; i <= 10; i++)
{
int num2;
num2 =num* i;
g.DrawString(num+" X "+i+" = "+num2.ToString(), letra, Brushes.Black, x, y);
y += letra.Height;
}
}
Metodo para Limpiar en el boton limpiar
{
this.CreateGraphics().Clear(Form1.ActiveForm.BackColor);
}
#4 C# Musica
App para tocar una pequeña tonada en modo consola C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace music_consola
{
class Program
{
public static void Main()
{
Note[] Mary =
{
new Note(Tone.B, Duration.QUARTER),
new Note(Tone.A, Duration.QUARTER),
new Note(Tone.GbelowC, Duration.QUARTER),
new Note(Tone.A, Duration.QUARTER),
new Note(Tone.B, Duration.QUARTER),
new Note(Tone.B, Duration.QUARTER),
new Note(Tone.B, Duration.HALF),
new Note(Tone.A, Duration.QUARTER),
new Note(Tone.A, Duration.QUARTER),
new Note(Tone.A, Duration.HALF),
new Note(Tone.B, Duration.QUARTER),
new Note(Tone.D, Duration.QUARTER),
new Note(Tone.D, Duration.HALF)
};
Play(Mary);
}
protected static void Play(Note[] tune)
{
foreach (Note n in tune)
{
if (n.NoteTone == Tone.REST)
Thread.Sleep((int)n.NoteDuration);
else
Console.Beep((int)n.NoteTone, (int)n.NoteDuration);
}
}
protected enum Tone
{
REST = 0,
GbelowC = 196,
A = 220,
Asharp = 233,
B = 247,
C = 262,
Csharp = 277,
D = 294,
Dsharp = 311,
E = 330,
F = 349,
Fsharp = 370,
G = 392,
Gsharp = 415,
}
protected enum Duration
{
WHOLE = 1600,
HALF = WHOLE / 2,
QUARTER = HALF / 2,
EIGHTH = QUARTER / 2,
SIXTEENTH = EIGHTH / 2,
}
protected struct Note
{
Tone toneVal;
Duration durVal;
public Note(Tone frequency, Duration time)
{
toneVal = frequency;
durVal = time;
}
public Tone NoteTone { get { return toneVal; } }
public Duration NoteDuration { get { return durVal; } }
}
}
}
Mono
Si quieres otra opción a Visual Studio para programar en C# tambien Mono es una excelente opcion.
http://www.mono-project.com/download/#download-win
Visual Studio
#3 C# Saber si un numero es primo
App para saber ssi un numero es primo o no C#
namespace saber_si_un_numero_es_primo
{
class Program
{
static void Main(string[] args)
{
int a = 0, num;
Console.WriteLine("NUMERO");
num = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i < (num + 1); i++)
{
if (num % i == 0)
{
a++;
}
}
if (a != 2)
{
Console.WriteLine(num+ " No es primo");
}
else
{
Console.WriteLine(num+ " Si es primo");
}
Console.ReadLine();
}
}
}
#2 C# Factorial
App para calcular el factorial de un numero C#
namespace factorial_clase
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Numero=");
int n = int.Parse(Console.ReadLine());
Console.WriteLine("El factorial es "+factorial(n));
Console.ReadKey();
}
public static int factorial(int n)
{
int fact = 1;
if (n == 0 || n == 1)
return 1;
for (int i = n; i >= 1; i--)
fact *= i;
return fact;
}
}
}
#1 C# Numeros Primos
App para calcular numeros primos del 1 al 1000 C#
namespace primo
{
class Program
{
static void Main(string[] args)
{
Console.SetCursorPosition(0, 0);
Console.Write("Numeros primos del 1 al 1000");
Console.SetCursorPosition(1, 1);
Console.Write("");
int cuentap = 0;
for (int i = 0; i <= 1000; i++)
{
if (primo(i))
cuentap++;
}
int x = 2, y = 2;
int[] vecp = new int[cuentap];
int indice = 0;
for (int i = 1; i <= 1000; i++)
{
if (primo(i))
{
vecp[indice] = i;
Console.SetCursorPosition(x, y);
Console.Write(i);
indice++;
y++;
if (y == 25)
{
x += 5;
y = 2;
}
}
}
Console.ReadKey();
}
public static bool primo(int n)
{
int div = 2;
while (div < n)
{
if (n % div == 0)
return false;
div++;
}
return true;
}
}
}
Bienvenidos
En este blog analizaremos cosas relacionadas con la programación, la computación y todo lo relacionado con el mundo de la informática y la tecnología. ;-)
Suscribirse a:
Comentarios (Atom)
.png)
.png)

.png)
.png)
.png)
.png)

.png)
.png)
.jpg)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)




.png)


.jpg)







.png)
.png)

.png)

.png)
