Los arreglos en C# (también conocidos como Arrays) al igual que en C/C++, son indexados iniciando en cero (0). La forma de trabajo es muy similar a la mayoría de lenguajes pero hay lagunas diferencias que notarán.
Como Declarar e Inicializar un Arreglo en C#
Cuando vayamos a declarar un arreglo en debemos colocar los corchetes después de tipo de dato. En C/C++ se estila poner los corchetes después del identificador, eso causa un error de compilación en C#-
Declaración de un Arreglo de tipo Vector en C#
//Declaración erronea
int valores[];
//Declaración valida
int[] valores;
int[] valores; //valores sin
inicializar
valores = new int[100]; //100 elementos
valores = new int[20]; //ahora contiene 20
elementos
Arreglos Multi-dimensionales
En C# también podemos declarar arreglos multidimensionales, aquí unos ejemplos:
//Arreglos unidimensionales o de
dimensión simple
int[] valores1; //sin
inicializar
int[] valores2 = new int[50];
//Arreglos multidimensionales
int[,] valores1; //sin
inicializar
int[,] valores2 = new
int[3,7];
int[,,] valores3 = new
int[3,4,2]; //Arreglo
de tres dimensiones
//Arreglo de arreglos
int[][] matriz; //sin
inicializar
//Los arreglos de arreglos se inicializan de manera
diferente
int[][] matriz = new int[3][];
for (int i = 0; i < matriz.Length; i++)
{
matriz[i] = new int[4];
}
Ejercicios Resueltos de Arreglos en C#
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace PruebaVector1
{
class PruebaVector1
{
private int[]
sueldos; //Declaramos un vector
public void Cargar()
{
sueldos = new int[6];
//Inicializamos el vector en 5
for (int f = 1; f
<= 5; f++)
{
Console.Write("Ingrese sueldo del operario "+f+": ");
String linea;
linea = Console.ReadLine();
sueldos[f] = int.Parse(linea); //Asignamos los 5 sueldos al vector
}
}
//Muestra los sueldos de los operarios en el vector
sueldos[f]
public void
Imprimir()
{
Console.Write("Los
5 sueldos de los aperarios \n");
for (int f = 1; f
<= 5; f++)
{
Console.Write("["+sueldos[f]+"]
");
}
Console.ReadKey();
}
//main principal
static void Main(string[] args)
{
PruebaVector1 pv = new
PruebaVector1();
pv.Cargar();
pv.Imprimir();
}
}
}
Lo definimos como atributo de la clase ya que lo utilizaremos en los dos métodos.
En el método de Cargar lo primero que hacemos es crear el vector (en C# los vectores son objetos por lo que es necesario proceder a su creación mediante el operador new):
sueldos = new int[6];
Ejemplo 2
Una empresa tiene dos turnos (mañana y tarde) en los que trabajan 8 empleados (4 por la mañana y 4 por la tarde)
Desarrollar un programa que permita almacenar los sueldos de los empleados agrupados por turno.
Imprimir los gastos en sueldos de cada turno.
using
System;
using
System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
class PruebaVector3
{
private float[]
turnoM; //Declaramos un vector para el turno mañana
private float[]
turnoT; //Declaramos un vector para el turno tarde
public void Cargar()
{
string linea;
turnoM = new float[4];
//Asignamos al vector una de longitud 4
turnoT = new float[4];
//Asignamos al vector una de longitud 4
Console.WriteLine("Sueldos
de empleados del turno de la mañana.");
for (int f = 0; f
< 4; f++)
{
Console.Write("Ingrese sueldo "+(f+1)+":
");
linea = Console.ReadLine();
turnoM[f] = float.Parse(linea); //Asignamos valores al vector turno mañana
}
Console.WriteLine("Sueldos
de empleados del turno de la tarde.");
for (int f = 0; f
< 4; f++)
{
Console.Write("Ingrese sueldo "+(f+1)+":
");
linea = Console.ReadLine();
turnoT[f] = float.Parse(linea); //Asignamos valores al vector turno tarde
}
}
public void
CalcularGastos()
{
float man = 0;
float tar = 0;
for (int f = 0; f
< 4; f++)
{
man = man + turnoM[f]; //Realizamos la suna de
los valores del vector turno Mañana
tar = tar + turnoT[f]; //Realizamos la suna de
los valores del vector turno Tarde
}
Console.WriteLine("Total
de gastos del turno de la mañana:" + man);
Console.WriteLine("Total
de gastos del turno de la tarde:" + tar);
Console.ReadKey();
}
static void Main(string[] args)
{
PruebaVector3 pv = new
PruebaVector3();
pv.Cargar();
pv.CalcularGastos();
}
}
}
Ejemplo 3
Se tienen las notas del primer parcial de los alumnos de dos cursos, Matemática y el Física, cada curso cuenta con 5 alumnos.
Realizar un programa que muestre el curso que obtuvo el mayor promedio general.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace PruebaVector6
{
class PruebaVector6
{
private int[]
quimica; //Declaramos un vector para el curso Química
private int[] fisica;
//Declaramos un vector para el curso Física
private int[]
vecSuma;//Declaramos un vector para la suma
public void Cargar()
{
quimica = new int[5];
//Asignamos una longitud de 5 al vector química
fisica = new int[5];
//Asignamos una longitud de 5 al vector Física
Console.WriteLine("Ingrese notas del curso Quimica");
for (int f = 0; f
< 5; f++)
{
Console.Write("Ingrese nota "+(f+1)+":
");
string linea;
linea = Console.ReadLine();
quimica[f] = int.Parse(linea);
}
Console.WriteLine("Ingrese
notas del Fisica");
for (int f = 0; f
< 5; f++)
{
Console.Write("Ingrese nota "+(f+1)+":
");
string linea;
linea = Console.ReadLine();
fisica[f] = int.Parse(linea);
}
}
public void
CalcularPromedios()
{
int suma1 = 0;
int suma2 = 0;
for (int f = 0; f
< 5; f++)
{
suma1 = suma1 + quimica[f];
suma2 = suma2 + fisica[f];
}
int promedioa = suma1 / 5;
int promediob = suma2 / 5;
if (promedioa > promediob)
{
Console.WriteLine("El curso de Quimica tiene un promedio mayor.");
}
else
{
Console.WriteLine("El curso de Fisica tiene un promedio mayor.");
}
Console.ReadKey();
}
static void Main(string[] args)
{
PruebaVector6 pv = new
PruebaVector6();
pv.Cargar();
pv.CalcularPromedios();
}
}
}
Realizar un programa que defina un vector de 5 componentes de tipo float que representen las alturas de 5 personas.
Obtener el promedio de las mismas. Contar cuántas personas son más altas que el promedio y cuántas más bajas.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace PruebaVector2
{
class PruebaVector2
{
private float[]
alturas;
private float
promedio;
public void Cargar()
{
alturas = new float[5];
for (int f = 0; f
< 5; f++)
{
Console.Write("Ingrese la altura de la persona: "+(f+1)+": ");
string linea = Console.ReadLine();
alturas[f] = float.Parse(linea);
}
}
public void
CalcularPromedio()
{
float suma;
suma = 0;
for (int f = 0; f
< 5; f++)
{
suma = suma + alturas[f];
}
promedio = suma / 5;
Console.WriteLine("Promedio
de alturas es:" + promedio);
}
public void
MayoresMenores()
{
int may, men;
may = 0;
men = 0;
for (int f = 0; f
< 5; f++)
{
if (alturas[f] > promedio)
{
may++;
}
else
{
if (alturas[f] < promedio)
{
men++;
}
}
}
Console.WriteLine("Cantidad
de personas mayores al promedio:" + may);
Console.WriteLine("Cantidad
de personas menores al promedio:" + men);
Console.ReadKey();
}
static void Main(string[] args)
{
PruebaVector2 pv2 = new
PruebaVector2();
pv2.Cargar();
pv2.CalcularPromedio();
pv2.MayoresMenores();
}
}
}
Muchisimas Graciass, me sirvio much para la tarea ;)
ResponderEliminarejemplo de con array. Enfermedades Se insertan una serie de síntomas y se deberá dar el medicamento más apropiado para el tratamiento
ResponderEliminarde 5enfermedades.
COMO PUEDO DEFINIR UNA MATIZ DE LONGITUD 5X5 CUYO TIPO DE DATO PERMITA LA ASIGNACION DELCARACTER ASTERISCO.
ResponderEliminarESPERO ME PUEDAN PROPORCIONAR UN EJEMPLO GRACIAS.
te falto decir que es para la materia de programacion estructurada en la univ.UTEL.
Eliminarsaludos bro.
amigo ayudame en este ejercicio mira:
ResponderEliminarConstruya un programa para ingresar 10 elementos enteros en un arreglo y luego 12 elementos enteros en otro arreglo, dichos conjuntos ya ingresan ordenados en forma creciente. Se desea obtener un tercer arreglo de 22 elementos ordenados en forma creciente, intercalando los elementos de los arreglos ingresados (aplicar Método MERGE).
No se como hacerlo, ayudame porfavor.
alquien sabe como puedo solucionar este ejercicio
ResponderEliminarRegistrar las notas (de 0 a 5) de parcial 1, parcial 2 y parcial 3
de N estudiantes. Calcular la nota final, teniendo en cuenta
que el parcial 1 equivale al 30%, el parcial 2 al 30% y el
parcial 3 al 40%. Al final se debe imprimir toda la información.
public void Solucion()
Eliminar{
int n = 0;
float nota1 = 0.0f, nota2 = 0.0f, nota3 = 0.0f, par1 = 0.0f, par2 = 0.0f, par3 = 0.0f;
Console.WriteLine("Escribe la cantidad de estudiantes de los parciales: ");
n = Convert.ToInt32(Console.ReadLine());
float[] Parcial1 = new float[n];
float[] Parcial2 = new float[n];
float[] Parcial3 = new float[n];
float[] notas = new float[n];
for(int i = 0; i < Parcial1.Length; i++)
{
Console.WriteLine("Escribe la nota del parcial1 nº #" + (i+1));
Parcial1[i] = Convert.ToSingle(Console.ReadLine());
}
for (int j = 0; j < Parcial2.Length; j++)
{
Console.WriteLine("Escribe la nota del parcial2 nº #" + (j + 1));
Parcial2[j] = Convert.ToSingle(Console.ReadLine());
}
for (int k = 0; k < Parcial3.Length; k++)
{
Console.WriteLine("Escribe la nota del parcial3 nº #" + (k + 1));
Parcial3[k] = Convert.ToSingle(Console.ReadLine());
}
for(int m = 0; m < notas.Length; m++)
{
// extraemos la nota global por cada parcial de cada alumno
notas[m] = (Parcial1[m]*0.3f) + (Parcial2[m]*0.3f) + (Parcial3[m]*0.4f);
}
for (int p = 0; p < notas.Length; p++)
{
Console.WriteLine("La nota global del alumno " + (p+1) + " ha sido de " + notas[p]);
}
}
Este comentario ha sido eliminado por el autor.
ResponderEliminarpuedes explicarme como haser una conversion de decimal a binario con arreglos??
ResponderEliminarexcelente me fue de mucha ayuda, gracias
ResponderEliminarRealice un programa que almacene en un arreglo 5 números ingresados por el usuario.
ResponderEliminarDebe recorrer el arreglo y verificar si dentro del mismo se encuentra el #7. Si es así, mostrar un mensaje que diga "Bienvenido" y salir.
En caso contrario, mostrar un mensaje que diga "Hasta la próxima" y salir
Que facil enserio no pudo :v
EliminarComo almacenar un dato en un arreglo en C#
ResponderEliminarmanden un codigo que funcione
ResponderEliminarel programa de calcular el promedio de 3 notas en sharp
Una Empresa solicitar contratar los servicios de un programador para que realice las siguientes actividades: 1) Que Solicite la cantidad de información que se va almacenar en el Vector 2) Cree un vector de tipo entero acuerdo al tamaño capturado en el punto uno. 3) El ingreso de la información va ser por consola 4) Qué calcule haga el cálculo del promedio de la información ingresada 5) Que ordene el vector y me diga cual es el valor menor y mayor de la información ingresada *
ResponderEliminarAlguien me ayuda porfavor
alguien sabe como puedo crear un arreglo donde pueda consultar mi directorio de contactos o algun ejemplo similar
ResponderEliminarEn un vector de 25 elementos, se desea buscar un dato que será leído. Diseñe un
ResponderEliminarprograma que imprima el mensaje: “VALOR ENCONTRADO”, si en efecto el valor
11
buscado ya se encuentra entre los elementos, y la posición o subíndice donde se
encontró la primera vez.
Si el valor no se encuentra, se debe sustituir el valor menor por el buscado, imprimiendo
el elemento que sale del vector y la posición que ocupaba.
Alguien me puede ayudar porfavor :(
El numero 11 se me fue de mas XD
Eliminar
ResponderEliminarComo se procede en esta operación en c#?
En un vector de 25 elementos, se desea buscar un dato que será leído. Diseñe un
programa que imprima el mensaje: “VALOR ENCONTRADO”, si en efecto el valor buscado
11
ya se encuentra entre los elementos, y la posición o subíndice donde se encontró la
primera vez.
Si el valor no se encuentra, se debe sustituir el valor menor por el buscado, imprimiendo
el elemento que sale del vector y la posición que ocupaba.
-R e alic e una aplicación de consola con nombre DemoMatriz, que solic ite la cantidad de productos a introducir. Luego deberá solicitar el nombre, cantidad y precio de cada uno, calcular el subTotal y almacenar todos los valores en una matriz llamada ventas. El sistema deberá perm itirle al usuario finalizar al terminar cada iteración. Al finalizar deb erá mostrar el total de productos introducidos y el total de las ventas realizadas. •Ejemplo de entrada de datos: Productos Cantidad Precio subTotal.
ResponderEliminaro platano 3 10 30
1 habichuela 2 10 20
2 carne 4 15 60
3 arroz 5 20 100
Desarrolle una aplicación que permita almacenar los nombres y 3 notas para cada uno de los N alumnos
ResponderEliminarde una institución educativa. Se solicita determinar el promedio de cada estudiante, y luego mostrar toda la
información en pantalla.
COMO PUEDO DESARROLAR ESTE PROGRAMA EN C#
Necesito ayuda en un ejercicio de arreglos
ResponderEliminarhola como hago un ejercicio C# de convertir grados celsius a farengheit y viceversa alguien podria ayudarme por fa
ResponderEliminarEscribir un programa que lea el array
ResponderEliminarnecesito ayuda
Desarrollar un programa que pida por teclado el tamaño de un arreglo de números y
ResponderEliminarpedir los valores numéricos con los que se rellena. Los valores no se pueden repetir.
Mostrar el arreglo con los valores al final.