• No se han encontrado resultados

INTRODUCCION A ARREGLOS Un arreglo es una estructura de dato que tiene la siguiente características.

In document C# FUNDAMENTOS DE PROGRAMACION (página 186-193)

1.‐Es una colección finita de n elementos homogéneos almacenados en posiciones contiguas de memoria.

2.‐Es identificado con un nombre unico, que representa a todos los elementos, y asu vez cada elemento se identifica mediante el nombre la estructura y su subindice.

Esto implica que los arreglos son estrucutras de datos que utilizan una celda para cada valor y que todos los valores están en memoria a la vez.Muchas aplicaciones requieres de este tipo de organizaciones de datos, asi: Vectores, polinomios, matrices,tablas,procesos estadisticos,etc.

Los arreglos pueden ser organizados con un solo subindice en forma de vector(unidimensionales), con dos subindices en forma de matriz(bidimensionales), con tres subindices(tridimensionales), etc.

C# utiliza corchetes [ ] para definición de arrays

string[] telefonos; //Definicion de un Arreglo de strings telefonos = new string[3]; //De 3 elementos

telefonos[0] = “1245”; //Seteo del 1er elemento del arreglo

//Definicion y asignacion de una vez telefonos = new string[] {“1”,“2”,“3”};

EJERCICIOS RESUELTOS

1.‐se tiene la relación de N notas. Escribir un programa que calcule el promedio y determine cuántas notas son mayores al promedio.

Entrada de datos N=5

Salida de Datos Promedio=14 Nro Nota Mayores=2

static void Main(string[] args) {

//declaramos nuestro arreglo y le damos un tamaño

int[] notas;

notas = new int[50];//en este caso le damos un tamaño de 50

int N,proemdio,NroNotasMayores=0,suma=0;

//ingresamos cantidad de notas Console.Write("Ingresa N:");

N = int.Parse(Console.ReadLine());

//usamos un bucle para ingresar es cantidad de notas

for (int i = 1; i <= N; i++) {

Console.Write("Ingrese Nota {0}:",i); notas[i] = int.Parse(Console.ReadLine()); suma += notas[i];

}

//calculamos el promedio proemdio = suma / N;

//ahora calculamos cuantas notas son mayores al promedio //y hacemos uso de otro bucle

for (int i = 1; i <= N; i++) {

if (notas[i] > proemdio) NroNotasMayores++; }

//al final mostramos el promedio y la cantidad //de notas que son mayores

Console.WriteLine("El Promedio es :{0}",proemdio);

Console.WriteLine("Las Notas Mayores que el Promedio son:{0}",NroNotasMayores); Console.ReadLine();

}

2.‐Hacer un programa que:

a) Cree un array unidimensional de nombre “vector” y cinco elementos, siendo sus componentes de tipo numerico entero.

b)Asigne a cada elemento o componente del array el valor cero.

c)Calcule el tamaño (en bytes) que dicho array ocupa en memoria.Mostrando el resultado obtendio en pantalla.

static void Main(string[] args) {

//declaramos nuestro arreglo y le damos un tamaño int i;

int[] numeros;

numeros = new int[5];//el tamaño del vector es de 5 //a los primeros 5 numeros le damos el valor de 0 for (i = 0; i < 5; i++)

numeros[i] = 0;

for (i = 0; i < 5; i++)

Console.Write("{0}", numeros[i]); //mostramos el espacio que una en byes

Console.Write("\n-el tamaño del array es de {0} bytes.\n", sizeof(int)*5); Console.Read();

}

2.‐Hacer un programa que:

a)cree un array unidimensional de 20 elementos de tipo númerico entero y nombre “pares”. b) Cargue el array con los 20 primeros numeros pares.

c)muestre el contenido del array por pantalla. Salida de Resultados

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

static void Main(string[] args) {

//declaramos nuestro arreglo y le damos un tamaño

int[] pares;

pares = new int[20];//tamaño del vector es de 20

int i, p=0;

//calculamos los 20 primeros pars

for(i=0;i<20;i++) {

pares[i] = p+=2; }

//mostramos los numeros pares almacenados en nuestro array

for (i = 0; i < 20; i++)

Console.Write(" {0}",pares[i]); Console.Read();

}

3.‐crear un array de 20 numeros enteros y que contabilize el numero de valores

positivos,negativos y ceros almacenados en el proceso de carga y finalmente mostrarlo por pantalla.

Entrada de Datos

2 6 13 ‐7 50 4 0 0 11 ‐3 0 8 0 0 0 45 2 2 0 0

Salida de Resultados

Hay 10 números positivos, 2 negativos y 8 ceros

static void Main(string[] args) {

int[] numeros;

numeros = new int[20]; int i;

int pos, neg, cero;

//ingresamos los 20 numeros para llenar el arreglo

for (i = 0; i < 20; i++) {

Console.Write("Ingrese los datos para el arreglo : ");

}

//inicializamos los contadores

pos = 0; neg = 0; cero = 0;

//calculamos cuantos son neutros,positivos y negativos

for (i = 0; i < 20; i++) { if (numeros[i] < 0) neg++; else if (numeros[i] > 0) pos++; else cero++; }

//finalmente mostrar todos los resultados por pantalla

Console.Write("\nHay {0} nùmeros positivos, {1} negativos y {2} ceros", pos, neg, cero);

Console.ReadKey();

}

4.‐Cree un array de 15 elementos de tipo numerico entero y halle la suma de los primeros N elementos almacenados en el array finalmente muestre el resultado obtendio, así como el contenido del array en pantalla.

static void Main(string[] args) {

int[] vector;

vector = new int[15]; int i, suma = 0, num;

Console.Write("-Introduce los valors que cargan la tabla.\n"); for (i = 0; i < 4; i++)

vector[i] = int.Parse(Console.ReadLine());

Console.Write("¿Cuántos valores quieres sumar?\n"); num = int.Parse(Console.ReadLine());

for (i = 0; i < num; i++) suma += vector[i];

Console.Write("-El resultado de sumar los {0} primeros numeros es : {1}\n", num, suma);

Console.Write("-Los elementos del vector, son :"); for (i = 0; i < 4; i++) { Console.Write("{0}", vector[i]); } Console.Read(); }

5.‐ Cree un array unidimensional de 20 valores de tipo númerico y mostar por pantalla todos aquellos elementos mayores de 30 junto con la posición que ocupan en la tabla.En caso de no existir ninguno.se mostrara el siguiente mensaje:”no hay números mayores que 30”.

static void Main(string[] args) {

int[] array;

array = new int[20]; int i;

int sw = 0;

Console.Write("-Introduce los valors que cargan la tabla.\n"); for (i = 0; i < 20; i++)

{

array[i] = int.Parse(Console.ReadLine());

}

Console.Write("-Los elementos mayores que 30 son: \n"); for (i = 0; i < 15; i++)

{

if (array[i] > 30) {

sw = 1;

Console.Write("Array[{0}]={1}\n", i, array[i]); }

}

if (sw == 0)

Console.Write("No hay números mayores que 30\n"); Console.Read();

}

5.‐Cree un array de nombre “notas” para almacenar las calificaciones correspondientes a diez asignaturas y almacenarlas en el array “notas” de forma consecutiva.Calcule e imprima su nota media.

static void Main(string[] args) {

double[] notas;

notas = new double[10]; int i;

double suma, media; for (i = 0; i < 10; i++) {

Console.Write("- Nota de la asignatura {0} : ", i + 1);

notas[i] = double.Parse(Console.ReadLine());

}

suma = 0;

for (i = 0; i < 10; i++) {

suma = suma + notas[i]; }

media = suma / 10;

Console.Write("- Nota media de las 10 asignaturas : {0:F2}", media); Console.ReadKey();

}

6.‐Lea un secuencia de 15 números enteros, almacenándolos en un array de nombre “numeros”.Escribir un programa que los visualice en el dispositivo estándar de salida en orden inverso al de entrada.

static void Main(string[] args) {

int[] numeros;

numeros = new int[15]; int i;

//ingresamos los numeros for(i=0;i<15;i++)

{

Console.Write("Ingresa Numero:");

numeros[i] = int.Parse(Console.ReadLine());

}

//mostrar los números en forma invertida

Console.WriteLine("Forma Invertida del ingreso"); for (i = 14; i >= 0; i--) { Console.WriteLine("{0}",numeros[i]); } Console.ReadLine(); }

7.‐Leer una secuencia de 20 valores numericos enteros y los almacene en un array de nombre “numero”, calcule cuál es el valor maximo, asi como la posición que ocupa en la tabla y finalmente muestre el valor maximo encontrado junto con la posicion que ocupa en el array. En caso de aparecer repetido el valor máximo se mostrará el que se ocupa la posición situada más a la izquierda.

static void Main(string[] args) {

int[] numero;

numero = new int[20]; int k, p;

int maximo;

for (k = 0; k < 10; k++) {

Console.Write("- Valor de la componente [{0}] : ", k);

numero[k] = int.Parse(Console.ReadLine());

} maximo = numero[0]; p = 0; for (k = 1; k < 10; k++) { if (maximo < numero[k]) { maximo = numero[k]; p = k; }

}

Console.Write(" \n el valor maximo es el numero {0} encontrado en la posicion {1}\n", maximo, p);

Console.ReadKey(); }

In document C# FUNDAMENTOS DE PROGRAMACION (página 186-193)