gentoo linux, java, software libre y otras hierbas
nov, 10 2008 - 5:00 pm

Ejemplos básicos de manipulación de arreglos en C#

Ejemplos básicos de manipulación de arreglos en C#

Sumar elementos de un array

Sinopsis: hacer la sumatoria de los elementos de un arreglo.

using System;
class SumarArreglo
{
  // metodo Main
  static void Main( string[] args )
  {
     int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
     int total = 0;
     for ( int i = 0; i < a.Length; i++ )
        total += a[ i ];
     Console.WriteLine( "Suma de todos los elementos del array: " + total);
  } // fin de Main
} // fin de la clase SumarArreglo

Resultado…

Suma de todos los elementos del array: 55

Descargar código fuente

Creacion de histogramas

Sinopsis: crear un histograma (barras a base de asteriscos) a partir de unos datos.

using System;
class Histograma
{
  // metodo Main
  static void Main( string[] args )
  {
     int[] n = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 };
     string salida = "Elemento\tValor\tHistograma\n";
     // construir salida
     for ( int i = 0; i < n.Length; i++ )
     {
        salida += "\n" + i + "\t\t\t" + n[ i ] + "\t\t";
        for ( int j = 1; j <= n[ i ]; j++ ) // imprimir una barra
           salida += "*";
     }
     Console.WriteLine( salida);
  } // fin Main
} // fin de la clase Histograma

Resultado…

Elemento Valor Histograma

0 19 *******************
1 3 ***
2 15 ***************
3 7 *******
4 11 ***********
5 9 *********
6 13 *************
7 5 *****
8 17 *****************
9 1 *

Descargar código fuente

Estadisticas de notas de estudiantes

Sinopsis: apartir de un arreglo de notas (puntajes) identificar la frecuencia de cada una de ellas entre todos los estudiantes.

using System;
class EncuestaEstudiantes
{
  // metodo Main
  static void Main( string[] args )
  {
     int[] respuestas = { 1, 2, 6, 4, 8, 5, 9, 7, 8, 10, 1,
        6, 3, 8, 6, 10, 3, 8, 2, 7, 6, 5, 7, 6, 8, 6, 7,
        5, 6, 6, 5, 6, 7, 5, 6, 4, 8, 6, 8, 10 };

     int[] frecuencia = new int[ 11 ];
     string salida = "";

     // incrementar la frecuecia de para cada respuesta
     for ( int j = 0; j < respuestas.Length; j++ )
        ++frecuencia[ respuestas[ j ] ];

     salida += "Puntaje\tFrecuencia\n";

     // resultados
     for ( int puntaje = 1; puntaje < frecuencia.Length; puntaje++ )
        salida += puntaje + "\t\t" + frecuencia[ puntaje ] + "\n";

     Console.WriteLine( salida);

  } // fin Main

} // fin de la clase EncuestaEstudiantes

Resultado…

Puntaje Frecuencia
1 2
2 2
3 2
4 2
5 5
6 11
7 5
8 7
9 1
10 3

Descargar código fuente

Los ejercicios utilizados en este post están basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposición la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en inglés. La versión simplificada está basada en la original, pero sin código basura insertado por Visual Studio, se encuentra en español y ha sido probada sobre Gnu/Linux usando Mono.

45 Comentarios | deja el tuyo

Un enlace entrante

44 Comentarios en “Ejemplos básicos de manipulación de arreglos en C#”

  1. natalia dice:

    hola me podrian ayudar o darme un programa de c# donde trae la aplicacion arreglos es un sistema

  2. Martin A. dice:

    Muy buenos ejemplos de arreglos , gracias

  3. Jezault A. dice:

    son muy practicos pero podriamos ver algunos en visual c#.net ?

  4. julito bonito dice:

    porfavor pongan mas ejemplos de programas con arrays si van a aser algo AGANLO BIEN

  5. Lara dice:

    Julio bonito, estoy de acuerdo contigo: Si vas a escribir algo, escríbelo bien!!! HACER y HAGANLO es con H!!!

  6. Jezault A. dice:

    hahahahahahahahahahahahha!!!!

    jajajajajajajajajaja hay me duele el estomago esa Lara me hiso reir bastante buen homerun Lara

  7. Jezault A. dice:

    yo tampoco jajajajajajajajajaja me muevo mucho con c++ saves creo que prefiero java esque tengo que hacer un menu recurrente con un switch
    quiero que en la opcion 1 entre a capturar datos
    y en la opcion 2 los muestre lo estoy haciendo con estructuras pero a la hora que entra en la funcion en el caso 1 ya no puedo regresar al main tu sabes comoregresar al main desde una funcion?

    • cristian dice:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;

      namespace ConsoleApplication1
      {
      class Program
      {
      static void Main(string[] args)
      {
      Console.WriteLine(“bienvenido al hipermercado la aurora”);

      int cantcomp1 = 0;
      int cantcomp2 = 0;
      int cantcomp3 = 0;
      int cantcomp4 = 0;
      int cantcomp5 = 0;
      int cantotal = 0;
      double valorcomp1 = 0;
      double valorcomp2 = 0;
      double valorcomp3 = 0;
      double valorcomp4 = 0;
      double valorcomp5 = 0;
      double total = 0;
      int menu;
      double valor = 0;
      menu = 0;

      int cont = 0;
      while (menu <= 5)
      {
      Console.WriteLine("Elija a que departamento le corresponde su compra, digitando el numero que le corresponde");
      Console.WriteLine("1.Electrodomesticos");
      Console.WriteLine("2.hogar");
      Console.WriteLine("3.Mercado");
      Console.WriteLine("4.Vehículos");
      Console.WriteLine("5.Droguería");
      Console.WriteLine("Digite un numero mayor a 5 para salir");
      menu = int.Parse(Console.ReadLine());
      if (menu <= 5)
      {
      Console.WriteLine("digite valor de compra");
      valor = double.Parse(Console.ReadLine());
      switch (menu)
      {
      case 1: cantcomp1 = cantcomp1 + 1;
      valorcomp1 = valorcomp1 + valor;
      break;
      case 2: cantcomp2 = cantcomp2 + 1;
      valorcomp2 = valorcomp2 + valor;
      break;
      case 3: cantcomp3 = cantcomp3 + 1;
      valorcomp3 = valorcomp3 + valor;
      ;
      break;
      case 4: cantcomp4 = cantcomp4 + 1;
      valorcomp4 = valorcomp4 + valor;
      break;
      case 5: cantcomp5 = cantcomp5 + 1;
      valorcomp5 = valorcomp5 + valor;
      break;

      }

      cont = cont + 1;
      total = total + valor;
      }

      else
      {
      Console.WriteLine("usted ha elegido salir");
      Console.WriteLine();
      }

      }

      cantotal = cantotal + cont;
      Console.WriteLine("la cantidad de compras fue: ");
      Console.WriteLine("Electrodomesticos : {0} ", cantcomp1);
      Console.WriteLine("Hogar : {0}", cantcomp2);
      Console.WriteLine("mercado : {0}", cantcomp3);
      Console.WriteLine("vehiculos : {0}", cantcomp4);
      Console.WriteLine("droguería : {0}", cantcomp5);
      Console.WriteLine();
      Console.WriteLine("total compras : {0}", cantotal);
      Console.WriteLine();

      Console.WriteLine("el total de compras por departamento fue: ");
      Console.WriteLine("Electrodomesticos : {0} ", valorcomp1);
      Console.WriteLine("Hogar : {0}", valorcomp2);
      Console.WriteLine("mercado : {0}", valorcomp3);
      Console.WriteLine("vehiculos 4 : {0}", valorcomp4);
      Console.WriteLine("droguería : {0}", valorcomp5);
      Console.WriteLine();
      Console.WriteLine("total valor de compras : {0}", total);
      Console.ReadKey();

      }
      }
      }

  8. pancholin dice:

    mira, soy gay y no se imprimir los elementos de un arreglo en filas.
    podrias ayudarme, y dejare de ser gay…………..

  9. ramon dice:

    necesito un favor:
    tengo k realizar un programa en c sharp, donde me imprima los resultados de un arreglo por filas:
    ayudame y te invito a una cita lesbica………..

  10. cristian dice:

    Console.SetCursorPosition(15, 1);
    string var = “Información de estudiantes de sistemas”;
    System.Console.WriteLine(“{0}”, var);
    string opcion, Nombre, Tel, Bar; double a, b, c, d; int contador = 0; int voto, total = 0, dato, promedio;
    Console.WriteLine(“Elija una opción (si/no)”);
    opcion = Console.ReadLine();
    if (opcion == “si”)
    {
    Console.WriteLine(“Muy bien, usted pertenece al curso de C Sharp “);
    Console.WriteLine(“Por favor, escriba su Nombre Completo”);
    Nombre = Console.ReadLine();
    Console.WriteLine(“Por favor, escriba su Numero de Telefono”);
    Tel = Console.ReadLine();
    Console.WriteLine(“Por favor, escriba el nombre del barrio dende vive”);
    Bar = Console.ReadLine();
    Console.WriteLine(“Su Nombre es:{0} Su telefono es:{1} El barrio donde vive es:{2}”, Nombre, Tel, Bar);
    Console.WriteLine(“Estudiante si desea saber el promedio de su nota final en Clase “);
    Console.WriteLine(“Ingrese la primera calificación”);
    a = double.Parse(Console.ReadLine());
    Console.WriteLine(“Ingrese la segunda calificación”);
    b = double.Parse(Console.ReadLine());
    Console.WriteLine(“Ingrese la tercera calificación”);
    c = double.Parse(Console.ReadLine());
    Console.WriteLine(“Ingrese la cuarta calificación”);
    d = double.Parse(Console.ReadLine());
    double res;
    res = ((a + b + c + d) / 4);
    Console.WriteLine(“su Calificación final es:{0}”, res);
    Console.WriteLine(“Calcula el promedio de las edades de tus compañeros de clase”);
    Console.WriteLine(“Digita la edad de tu compañero” + contador + “: (Si no hay mas compañeros digita -1 para salir)”);
    dato = int.Parse(Console.ReadLine());
    while (dato != -1)
    {
    total = total + dato;
    contador = contador + 1;
    Console.WriteLine(“Digita la edad de tu compañero” + contador + “: (Si no hay mas compañeros digita -1 para salir)”);
    dato = int.Parse(Console.ReadLine());
    }
    promedio = total / contador;
    Console.WriteLine(“El promedio de las edades de tus compañeros es:” + promedio);

    Repetir:
    Console.WriteLine(“Cual es la asignatura que más te gusta”);
    Console.WriteLine(“1 – Investigación I”);
    Console.WriteLine(“2 – Lenguajes I)”);
    Console.WriteLine(“3 – Costos y Presupuestos”);
    Console.WriteLine(“4 – Ingeniería de Software)”);
    Console.WriteLine(“5 – Finalizar)”);
    voto = int.Parse(Console.ReadLine());
    switch (voto)
    {
    case 1:
    Console.WriteLine(“Has votado por Investigación I “);
    Console.ReadKey();
    goto Repetir;
    case 2:
    Console.WriteLine(“Has votado por Lenguajes I “);
    Console.ReadKey();
    goto Repetir;
    case 3:
    Console.WriteLine(“Has votado por Costos y Presupuestos “);
    Console.ReadKey();
    goto Repetir;
    case 4:
    Console.WriteLine(“Has votado por Ingeniería de Software “);
    Console.ReadKey();
    goto Repetir;
    default:
    Console.WriteLine(“No te entiendo”);
    Console.ReadKey();
    goto Repetir;
    case 5:
    break;
    }
    }
    else if (opcion == “no”)
    {
    Console.WriteLine(“Usted no pertenece al curso de C Sharp, no ingrese datos”);
    Console.ReadKey();
    }
    else
    {
    Repetir:
    Console.Write(“Usted no hace parte del PROYECTO GALILEO”);
    Console.WriteLine();
    if (contador++ < 5)
    goto Repetir;
    Console.ReadKey();
    }

  11. Tere dice:

    Hola!!
    Bueno me encanto tu programa para el histograma pero mi duda es osea si me pide que el usuario introduzca los numeros y que grafique el histograma lo hice, pero la vdd no se en que estoy mal, me podrias ayudar??

    #include
    #define TAMANIO 4

    int main ( )
    {
    int i; /* contador for externo para el arreglo elementos */
    int j; /* contador for interno cuenta *s en cada barra del histograma */
    int n [ TAMANIO ]=a,b,c,d

    printf(“Dame 4 numeros enteros menores de 60, separados por una coma”);
    scanf(“%i %i %i %i, &a, &b, &c, &d);

    if a>60 ! b>60 ! c>60 ! d>60
    { printf(“Tus numeros deben ser mayores a 60″);
    }

    else

    {printf(“Dame 4 numeros enteros menores de 60, separados por una coma”);
    scanf(“%i %i %i %i, &a, &b, &c, &d);

    for (i = 0; i < TAMANIO; i++ ) { printf( "%7d%13d ", i, n[ i ]) ;

    for ( j = 1; j <= n[ i ]; j++ ) { /* imprime una barra */
    printf( "%c", '*' );
    }
    printf( "n" );
    }
    }

    return 0;
    }

  12. Jezault dice:

    Hey chikos necesito hora si que una buena ayuda

    tengo un problema necesito un ejemplo de matrices con el metodo gauss jordan en C++ que me re-lleva el carajo y no e podido entender el algoritmo alguien se conpadece de esta pobre chavito u_u

  13. Laura Leree dice:

    Hola estoy haciendo un programa donde a un boton con darle clic derecho tomo las opciones de asignar y se pone de un color, desactivar, se pone de otro color, ya me sale con un boton, pero si son 12 botones como seria la sentencia. por favor a ver si me puede ayudar.

  14. Me gustaría que me dijeran como hago para que,dependiendo de un porcentaje, posicionar el resultado.
    Estoy basico de c#, ya probe los codigos que acaban de poner.

    Por fa

¡Déjanos tu comentario!