10 de abril de 2013

Arreglos con VB.NET y C#


Manejo de fechas en array

Dim fechas As Date() = {CDate("21/12/2012"), CDate("31/10/2012")}

        For Each fecha As Date In fechas
            MessageBox.Show(fecha)
        Next

Declarar array y asignar valores

Dim matriz(10)
        For i = 0 To 10
            matriz(i) = 100 * i
            MessageBox.Show(matriz(i))
        Next

Declaración array Kadena tipo string VB y ordenando

Dim kadena As String() = {"Carro""Camion"CStr(123)}
Array.Sort(kadena)

Mostrando los elementos del array

        For i As Integer = 0 To kadena.Length - 1
            MessageBox.Show(kadena(i).ToString)
        Next

Modificando la longitud del array y mostrando elementos

        ReDim Preserve kadena(3)
        kadena(3) = "nuevo elemento"

        For Each cadena As String In kadena
            MessageBox.Show(cadena)
        Next

Buscando la posición entera de un elemento del array

Dim buscar As Integer = Array.IndexOf(kadena, "Camion")
MessageBox.Show("Camion esta en la posicion del arreglo:" & buscar)

Declaración array números tipo entero y uso de LastIndexOf

Dim numeros As Integer() = {1, 2, 3, 2, 3, 2, 2}
        Dim pos As Integer = Array.LastIndexOf(numeros, 3)
        MsgBox("ultima posicion en que se encuentra un 3 es:  " & pos)

Obteniendo la suma de los elementos del array

        Dim suma As Integer = 0
        For Each termino As Integer In numeros
            suma = suma + termino
        Next
        MessageBox.Show(suma)

Mostrando los elementos del array en un listBox

Dim kadena As String() = {"Carro""Camion"CStr(123)}
        ListBox1.DataSource = kadena

Otra forma:
For Each cadena As String In kadena
        ListBox1.Items.Add(cadena)
    Next

Otra forma:
For i As Integer = 0 To kadena.Length - 1
            ListBox1.Items.Add(kadena(i).ToString)
        Next

Otra forma:
 Dim kadena As String() = {"Carro", "Camion", CStr(123)}
        ListBox1.Items.AddRange(kadena)

Declaración array y uso de GetLowerBound y GetUpperBound

Dim letras As String() = {"a""b""c""d""e""a"}
Dim posi As Integer = Aray.LastIndexOf(letras, "a")
MsgBox("ultima posicion en que se encuentra la letra a es:  " & posi)
MsgBox ("la letra en la primera posicion es:  " & letras.GetLowerBound(0))
MsgBox("la letra en la ultima posicion es:  " & letras.GetUpperBound(0))

Recorrer array con GetLowerBound y GetUpperBound

        For X = letras.GetLowerBound(0) To letras.GetUpperBound(0)
            MsgBox("estas son las letras del arreglo :  " & letras(X))
        Next

Recorrer arrar con LBound y UBound

        For y = LBound(letras) To UBound(letras)
            MsgBox("estas son las letras del arreglo:  " & letras(y))
        Next

Uso de Split y Join

Dim quitarCaracteres As String = "Mederico/Monuel/Morqueta"
        Dim vector() As String
        Dim enCadena As String

        vector = Split(quitarCaracteres, "/")
        For z = vector.GetLowerBound(0) To vector.GetUpperBound(0)
            MsgBox("Utilizando Split:   " & vector(z))
        Next

        enCadena = (Join(vector, "-"))
        MsgBox("Utilizando Join:   " & enCadena)

Pasando arraya como parámetro a función

Dim numeros(2) As Integer
        numeros(0) = 1
        numeros(1) = 2
        numeros(2) = 3

        For Each numero As Integer In numeros
            MessageBox.Show(numero)
        Next

        Aumentar(numeros)

Private Sub Aumentar(ByVal array() As Integer)
        For Each i As Integer In array
            MessageBox.Show((i * 30) + 1)
        Next
    End Sub

Copiando los elementos de un array a otro

Dim a() As String = {"hola""y""demas"}
        Dim b(a.GetUpperBound(0)) As String
        'Dim b(a.Length - 1) As String
        a.CopyTo(b, 0)

        For Each palabra As String In b
            MessageBox.Show(palabra)
        Next

Ejemplo de uso de arreglos manejando notas de alumnos

Dim meses(11) As String
Private dia_semana(6) As Byte
Public hora(23) As Double

Module Module1
Const limite = 15
Dim lista_notas(limite) As Single

Sub Main()
Dim numero As Integer
Dim suma As Single
Dim media As Single

Console.Write("Introduzca numero de calificaciones: ")
numero = Val(Console.ReadLine)
If numero > limite Then
Console.WriteLine("No se procesan mas de " & limite & " calificaciones")
      Else
      suma = 0
      Console.WriteLine("Introduzca calificaciones")
      'a medida que el usuario introduce las calificaciones
      'estas se colocan en el array
       For i = 0 To numero - 1
       Console.Write("   Nota[" & (i + 1) & "]= ")
       lista_notas(i) = Val(Console.ReadLine)
       suma = suma + lista_notas(i)
       Console.WriteLine()
       Next
           'se obtiene la media
       media = suma / numero
       Console.WriteLine("La media es: " & media)
       Console.WriteLine("-----------------------------------------")
       Console.WriteLine("Calificaciones mayores a la media es")
       ' se recore el array buscando calificaciones mayores a la media
       For i = 0 To numero - 1
       If lista_notas(i) > media Then
       Console.WriteLine("       " & lista_notas(i))
       End If
       Next
      Console.WriteLine("----------------------------------------------")
       End If
       Console.WriteLine("presione una tecla para terminar...")
       Console.ReadLine()
       End Sub
 End Module

Manejo de arreglos en C#

int[] valores = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
string[] paises = new string[4] { "Argentina""Bolivia""Peru""Chile"};

int[] numeros = new int[8];
int[] a = { 6, 1, 5, 6, 4, 8, 6, 9, 7, 4, 14, 26, 14, 12, 10 };

            //Inicializacion omitiendo el tamaño de la matriz
int[] valores = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
string[] paises = new string[] { "Argentina""Bolivia""Peru""Chile"};

            //Tambien podemos omitir el operador new
int[] valores = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
string[] paises = { "Argentina""Bolivia""Peru""Chile" };


Mostrando los valores del array en ListBox

int[] valores = { 3, 5, 2, 1, 5, 3, 7, 9, 8 };

foreach (int i in valores)
 { listBox1.Items.Add(i); }

Mostrando los valores de array en MessageBox

private int[] arreglo;
private void button1_Click(object sender, EventArgs e)
{
     arreglo = new int[10];
     for (int i = 1; i < 10; i++)
     {
          arreglo[i] = i * 50;
          MessageBox.Show( arreglo[i].ToString());
     }}

Mostrando la cantidad de números pares e impares de un arreglo

private void button1_Click(object sender, EventArgs e){

            int impares = 0, pares = 0;
            int[] arr = new int[] { 0, 1, 2, 5, 7, 8, 11 };
            foreach (int i in arr)
            {
                if (i % 2 == 0)
                    pares++;
                else
                    impares++;
            }
            MessageBox.Show("Hay" +impares+ "impares y" +pares+ "pares.");
        }

Llenando un arreglo desde un textBox

private void button1_Click(object sender, EventArgs e){
                    
        int index = 0;
        int[] arreglo = new int[10];

         if(index > 10)
         return;
      
       arreglo[index] = Convert.ToInt16(textBox1.Text);
      
       MessageBox.Show(arreglo[index].ToString());
       listBox1.Items.Add(arreglo[index].ToString());
      
       index++; }

Determinando si un elemento pertenece a un arreglo

private void Form1_Load(object sender, EventArgs e){
       
             int[] valores = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
             bool dime= Pertenece(8, valores);
             if(dime==true){   
                 MessageBox.Show("el numero pertenece al arreglo");
             }else{
                 MessageBox.Show("el numero no pertenece al arreglo");
             }}

        public static bool Pertenece (int numero, int [] array){
             for(int i=0; i
             if(array[i]==numero)
             return true;
            }
             return false;
                }

Encontrando el número mayor de un arreglo de enteros

private void Form1_Load(object sender, EventArgs e){
       
     int mayor;
     int[] valores = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
     mayor = MAYOR(valores);
     MessageBox.Show("el mayor es:   " + mayor);
        }

    public static int MAYOR(int[]numeros){
   
    int mayor = numeros[0];
    for(int i = 0 ; i< numeros.Length ; i++)
   
    if(numeros[i] > mayor)
        mayor = numeros[i];
    return mayor;
}

Reordenar arreglo

Capturar 10 numeros de cualquier tamaño ejemplo 12,13,587,41 etc hasta 10 y luego invertir esa cantidad ejemplo 41,587,13,12…una vez capturado el arreglo, sería con la ayuda de una variable auxiliar y de un ciclo que recorra el arreglo hasta la mitad e invierta el primer valor con el último.

La posición del primer valor sería controlada por el ciclo cuyo valor iría desde 0 hasta 4; y la posición del último valor se controlaría con una variable que iria de 9 hasta 5, lo demás sería invertir el valor de la posición inicial con el de la final, así:


using System;
namespace InvertirArr {
    class Program {
        static void Main(string[] args) {
            int[] arreglo = new int[10];
            int aux, up = 9;

            //Capturar arreglo
            for (int i = 0; i < 10; i++) {
                Console.Write ("Ingresa numero ");
                arreglo[i] = Convert.ToInt16 (Console.ReadLine());
            }

            //Invertir arreglo
            for (int i = 0; i < 5; i++) {
                aux = arreglo[i];
                arreglo[i] = arreglo[up];
                arreglo[up] = aux;
                up--;
            }

            //Mostrar arreglo invertido
            for (int i = 0; i < 10; i++) {
                Console.Write (arreglo[i] + ", ");
            }

            Console.ReadKey();
        }}}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ordenar_nombres_burbuja_
{
    class Program
    {
        static void Main(string[] args)
        {

 //EL TAMAÑO DEL ARREGLO ES DE 5 POR LO SOLO PODEMOS AGREGAR A 5 PERSONAS
            int temp;
            int[]edad=new int[5];
            string[] nombre = new string[5];
            for (int i = 0; i < edad.Length; i++)
            {
                Console.WriteLine(“dame el nombre ["+i+"]“);
                nombre[i]=Console.ReadLine();
                   Console.WriteLine(“dame su edad:”);
                edad[i]=Convert.ToInt32(Console.ReadLine());
                  }
            string seudo;
         
//METODO BURBUJA
             for (int i = 0; i < (edad.Length-1); i++)
            {
                 for (int j = 0; j < (edad.Length-1); j++)
                  {
                     if(edad[j]>edad[j+1])
                     {
                         temp=edad[j];
                         seudo = nombre[j];
                         edad[j]=edad[j+1];
                         nombre[j] = nombre[j + 1];
                         edad[j+1]=temp;
                         nombre[j + 1] = seudo;
               }}}
 //SE IMPRIMEN LAS PERSONAS SEGUN LA EDAD DE MENOR A MAYOR
                 Console.WriteLine(“orden:”);
                 for (int p = 0; p < edad.Length; p++){
                Console.WriteLine(nombre[p]+“:”+edad[p]);
            }
                 Console.ReadLine();
        }}}

Calcular el promedio, mínimo y máximo

Programa que lee del usuario una lista de notas correspondientes a los
alumnos de un curso, y calcula el promedio, mínimo y máximo. Se ilustra
el uso de arreglos para el almacenamiento de la información de entrada.

using System;
class Curso {
const float MAX_NOTA = 7.0F; // Las expresiones tipo float requieren una F al final
const float MIN_NOTA = 1.0F;
 float[] notas;
 float promedio;
 float minimo;
 float maximo;
public Curso() {
 int n;
Console.Write("Ingrese el número de alumnos en la sección: ");
 n = int.Parse(Console.ReadLine());
notas = new float[n];
for(int i=1; i<=n; i++) {
Console.Write("Ingrese la nota {0}: ", i);
 notas[i-1] = float.Parse(Console.ReadLine());
 }
 }
public void Calcular() {
float suma = 0;
minimo = MAX_NOTA;
 maximo = MIN_NOTA;
foreachfloat nota in notas ) {
if (minimo>nota) minimo = nota;
if (maximo
 suma += nota;
 }
promedio = suma / notas.Length;
 }
public void Mostrar() {
Console.WriteLine("Promedio de las {0} notas = {1}", notas.Length, promedio);
 Console.WriteLine("Mínimo de las {0} notas = {1}", notas.Length, minimo);
 Console.WriteLine("Máximo de las {0} notas = {1}", notas.Length, maximo);
 }
}
class MainApp {
static void Main() {
Curso c = new Curso();
 c.Calcular();
 c.Mostrar();
Console.ReadLine();
 }
}





miércoles, abril 10, 2013

Related Posts:

  • Conectar MySQL con .NETHay tres maneras de conectar una base de datos MySQL con .NET 1. Utilizando el Connector.NET este se descarga directamente desde la pagina de MySQL y para instalarlo basta con seguir instrucciones del asistente, osea ne… Read More
  • Buscador VS   Buscador en Visual Basic sobre SQL Hacer un buscador en Visual Basic es fácil por lo que para hacerlo algo interesante pero igualmente de fácil,  en vez de realizar la consulta en el propio formul… Read More
  • SqlTransaction en VS¿Qué pasa si en alguna en un procesos de actualización de datos de una base de datos falla a la mitad? Lo normal en la mayoría de los casos es deshacer todo lo que se ha hecho y dejar la base de datos como estaba. Este proces… Read More
  • Resultados búsqueda en Crystal Report Haremos un buscador de datos de un empleado y mostraremos los resultados en un reporte de Crystal Report, para esto utilizaremos VB2010 y la base de datos: empleado, la cual tiene los siguientes campos el te… Read More
  • Crear reporte en CR y sumar campos stringMostrare como crear un reporte usando VB2010, un Dataset y la información de una tabla en SQL 2008 para luego obtener el total de resultados de una columna especifica del reporte, lo primero sea crear el proyecto en… Read More