Sie sind auf Seite 1von 16

Facultad:

Ingeniería.
Escuela:
Ingeniería de Minas.
Asignatura:
Computación y Algoritmos.
Trabajo:
Ejercicios de arreglos.
Alumno:
Cabrera Cedrón, Frank Alexander.
PRÁCTICA N° 05. ARREGLOS: Vectores y Matrices
Realizar el a) PROCEDIMIENTO y b) PROGRAMACIÓN en C# para cada uno de los siguientes
ejercicios.

Arreglos unidimensionales:
1. Calcule la media armónica de un conjunto de datos.

PRESENTACIÓN DEL ALGORITMO


Vector [100] decimal

Entero: cn, i;

Decimal: m, s=0;

Leer: cn Desde i = 0 hasta i < cn

incremento i++

Leer: Vector [i]

Fin desde

Desde i = 0 hasta i < cn

incremento i++

s = s + (1 / v[i])

Fin desde

M = cn / s;

Escribir: “media armónica”, M

Fin

CODIGO C#
int cn, i;
double m, s = 0;
System.Console.WriteLine("Cálculo de la media armónica");
System.Console.WriteLine("");
System.Console.WriteLine("Ingrese la cantidad de numeros a operar");
cn = Convert.ToInt32(Console.ReadLine());
double[] v = new double[100];
for (i = 1; i < cn; i++)
{
System.Console.WriteLine("numero[" + i + "]");
v[i] = Convert.ToDouble(Console.ReadLine());
s = s + (1 / v[i]);
}
m = cn / s;
System.Console.WriteLine("la media armonica de los numeros es:" +m);
Console.Read();
CAPTURAS
3. Lea dos arreglos unidimensionales A y B y diga que elementos de A no están en B.

PRESENTACIÓN DEL ALGORITMO


Entero i, j, x=0, n1,n2;
Entero [] v1 = Nuevo entero [100];
Entero [] v1 = Nuevo entero [100];

Escribir “elementos de un conjunto que no se repitan en otro”

Escribir “ingrese numero de elementos del conjunto A"”

Leer: n1

Para (i = 0; i < n1; i++)


("N°[" + (i + 1) + "]")

v1[i]

Escribir “ingrese numero de elementos del conjunto B"”

Leer: n2

Para (i = 0; i < n2; i++)


("N°[" + (i + 1) + "]")

V2[i]

Para (i = 0; i < n1; i++)

Para (j = 0; j < n2; j++)

Si (v1[i] != v2[j])
x = v1[i];
Escribir: “no se repite en el conjunto B”

Fin

CODIGO C#
int i, j, x=0, n1,n2;
int[] v1 = new int[100];
int[] v2 = new int[100];
System.Console.WriteLine("elementos de un conjunto que no se repitan
en otro");
System.Console.WriteLine("");
System.Console.WriteLine("ingrese numero de elementos del conjunto
A");
n1 = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < n1; i++)
{
System.Console.WriteLine("N°[" +( i + 1) + "]");
v1[i] = Convert.ToInt32(Console.ReadLine());
}
System.Console.WriteLine("ingrese numero de elementos del conjunto
B");
n2 = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < n2; i++)
{
System.Console.WriteLine("N°[" +( i + 1) + "]");
v2[i] = Convert.ToInt32(Console.ReadLine());
}
for (i = 0; i < n1; i++)
{
for (j = 0; j < n2; j++)
{
if (v1[i] != v2[j])
x = v1[i];
}
System.Console.WriteLine(x + ":no se repite en el
conjunto B ");
}
Console.Read();

CAPTURAS
5. La moda de un conjunto de datos es el elemento que más se repite. Encuentre la
moda de elementos almacenados en un arreglo.

PRESENTACIÓN DEL ALGORITMO

Entero [ ] datos = new entero [50];

Entero: i, z, n, Mo = 0,

Leer: n

Desde i = 0 hasta i < n

incremento i++

Leer: Datos[i]

Fin desde

Desde z = i+1 hasta z < n

incremento z++

Si datos[i] == datos[z]

Fin desde

Mo= Datos[i]

Fin desde

Escribir: “la moda del arreglo es:”, Mo

Fin

CODIGO C#
int[] datos = new int[50];
int i, k, n, moda = 0;
Console.WriteLine();
Console.WriteLine(" Ingrese cantidad de datos para el arreglo: ");
n = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < n; i++)
{
Console.WriteLine();
Console.WriteLine(" Ingrese el dato " + (i + 1) + " : ");
datos[i] = Convert.ToInt32(Console.ReadLine());
}
for (i = 0; i < n; i++)
for (k = i + 1; k < n; k++)
if (datos[i] == datos[k])
{
moda = datos[i];
}
Console.WriteLine(" La moda de los elementos almacenados en arreglo
es: " + moda);
Console.Read();
CAPTURAS
Arreglos bidimensionales:
9. Escribir un programa que lea una matriz, y a continuación encuentre el mayor y el menor
elemento de la matriz y sus posiciones.

PRESENTACIÓN DEL ALGORITMO


Entero f,c,j, i m, n:

entero[,] matriz = nuevo entero[50, 50];


Escrbir mayor y menor elemento de una matriz

Escrbir ingrese el numero de filas de la matriz

Escrbir ingrese el numero columnas de la matriz

Leer c

Para(i = 0; i < f; i++)


Para (j = 0; j < c; j++)

Para i = 0; i < f; i++)


Para (j = 0; j < c; j++)
m=matriz[0, 1];
n=matriz[0, 1];
Para (i = 0; i < f; i++)
Para(j = 0; j < c; j++)
Si (matriz[i, j] >= m)
m = matriz[i, j];
Si (matriz[i, j] <= n)
n = matriz[i, j];
Escribir el mayor elemento es :"+m);
Escribir el menor elemento es:"+n
FIN

CODIGO C#
int f, c, i, j, m, n;
int[,] matriz = new int[50, 50];
System.Console.WriteLine("mayor y menor elemento de una matriz");
System.Console.WriteLine("");
System.Console.WriteLine("ingrese el numero de filas de la matriz");
f=Convert.ToInt32(Console.ReadLine());
System.Console.WriteLine("ingrese el numero columnas de la matriz");
c=Convert.ToInt32(Console.ReadLine());
for (i = 0; i < f; i++)
for (j = 0; j < c; j++)
{
System.Console.WriteLine("M[" + (i + 1) + "," + (j + 1) +
"]");
matriz[i, j] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine();
for (i = 0; i < f; i++)
{
for (j = 0; j < c; j++)
{
Console.Write(matriz[i, j] + " ");
}
Console.WriteLine();
}
Console.WriteLine();
m=matriz[0, 1];
n=matriz[0, 1];
for (i = 0; i < f; i++)
for (j = 0; j < c; j++)
{
if (matriz[i, j] >= m)
m = matriz[i, j];
if (matriz[i, j] <= n)
n = matriz[i, j];
}
System.Console.WriteLine("el mayor elemento es :"+m);
System.Console.WriteLine("el menor elemento es:"+n);
Console.Read();

CAPTURAS
11. El dueño de un restaurante entrevista a cinco clientes de su negocio y les pide que
califiquen del 1 a 10 los siguientes aspectos: (1 es pésimo y 10 es excelente)

a. Atención de los empleados

b. Calidad de la comida

c. Justicia del precio

d. Ambiente

Elabore un programa que pida las calificaciones de N clientes en cada uno de los aspectos
mencionados, y luego escriba el promedio obtenido en cada uno de ellos. La lista debe
aparecer ordenada del aspecto mejor calificado al peor calificado.

CODIGO C#
int n,i,j,f,k;
double p,m=0,num;
double[] v = new double[100];
int[,] M = new int[100, 100];
System.Console.WriteLine("calificar algunos aspectos de un
restauran");
System.Console.WriteLine("Aspecto [1]:Atencion de los empleados");
System.Console.WriteLine("Aspecto[2]:Calidad de la comida");
System.Console.WriteLine("Aspecto[3]:Justicia del precio");
System.Console.WriteLine("Aspecto[4]:Ambiente");
System.Console.WriteLine("Los calificativos van del 1(pesimo) al
10(excelente)");
System.Console.WriteLine("ingrese el numero de clientes que
calificaran");
n = Convert.ToInt32(Console.ReadLine());
for (j = 0; j < 4; j++)
{
System.Console.WriteLine("Aspecto[" + (j + 1) + "]");
for (i = 0; i < n; i++)
{
System.Console.WriteLine("califica Persona[" + (i + 1) +
"]");
M[j, i] = Convert.ToInt32(Console.ReadLine());
m = m + M[j, i];
}
p = m / n;
v[j] = p;
m = 0;
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3-i; j++)
if (v[j] < v[j + 1])
{
double aux;
aux = v[j];
v[j] = v[j + 1];
v[j + 1] = aux;
}
}
for (j = 0; j < 4; j++)
{
Console.Write(v[j] + " ");
}
Console.Read();

CAPTURAS

12. Construir un programa que califique un examen de selección presentado por n estudiantes
de Programación de Computadores. El examen consta de 6 preguntas con 5 alternativas: A, B,
C, D y E. Mostrar los resultados del examen por alumno. (preg. correcta = 4 ptos, preg.
incorrecta= -1)

PRESENTACIÓN DEL ALGORITMO


Entero n, i, j, x=0, y=0,s;
Sring p

String [,]M = nuevo string [5,6];


Entero [] v = nuevo entero [100];

Escirbir Ingrese el numero de alumnos


Leer n

Para (i = 0; i < n; i++)


Para (j = 0; j < 6; j++)
Escribir ingrese la clave de la pregunta:[" + (j + 1)

Leer p

Escribir ingrese la alternativa marcada por el alumno:[" + (i + 1) + "]" +


"pregunta:[" + (j + 1)

SI ( M[i, j]==p)
x = x + 4;
SI ( M[i, j]!=p)
y = y - 1;
s = x + y;
v[i] = s;
x = 0;
y = 0;
Para (i = 0; i < n; i++)
Escribir nota de alumno[" + (i + 1) + "]=" + v[i]
FIN

CODIGO C#
int n, i, j, x=0, y=0,s;
string p;
String[,]M = new string [5,6];
int[] v = new int[100];
System.Console.WriteLine("ingrese el numero de alumnos");
n = Convert.ToInt32(Console.ReadLine());
for (i = 0; i < n; i++)
{
for (j = 0; j < 6; j++)
{
System.Console.WriteLine("ingrese la clave de la pregunta:["
+ (j + 1) + "]");
p = Convert.ToString(Console.ReadLine());
System.Console.WriteLine("ingrese la alternativa marcada por
el alumno:[" + (i + 1) + "]" + "pregunta:[" + (j + 1) + "]");
M[i, j] = Convert.ToString(Console.ReadLine());
if ( M[i, j]==p)
x = x + 4;
if ( M[i, j]!=p)
y = y - 1;
}
s = x + y;
v[i] = s;
x = 0;
y = 0;
}
for (i = 0; i < n; i++)
System.Console.WriteLine("nota de alumno[" + (i + 1) + "]=" + v[i]);
Console.Read();

CAPTURAS
15. Desarrolle un programa aplicado a la minería, utilizando arreglos.

PRESENTACIÓN DEL ALGORITMO


Este programa consiste en ingresar el nombre de 4 mineros y el sueldo por 3 meses
consecutivos, dando como resultado la suma de sueldos de cada minero y el minero que tuvo
mayor ingreso acumulado.

CODIGO C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
{
class Matriz
{
private string[] empleados;
private int[,] sueldos;
private int[] sueldostot;
public void Cargar()
{
empleados = new String[4];
sueldos = new int[4, 3];
for (int f = 0; f< empleados.Length; f++)
{
Console.Write("Ingrese el nombre del minero "+(f+1)+": ");
empleados[f] = Console.ReadLine();
for (int c = 0; c < sueldos.GetLength(1); c++)
{
Console.Write("Ingrese sueldo " + (c + 1) + ": ");
string linea;
linea = Console.ReadLine();
sueldos[f, c] = int.Parse(linea);
}
}
}
public void CalcularSumaSueldos()
{
sueldostot = new int[4];
for (int f = 0; f< sueldos.GetLength(0); f++)
{
int suma = 0;
for (int c = 0; c < sueldos.GetLength(1); c++)
{
suma = suma + sueldos[f, c];
}
sueldostot[f] = suma;
}
}
public void ImprimirTotalPagado()
{
Console.WriteLine("Total de sueldos pagados por minero.");
for (int f = 0; f< sueldostot.Length; f++)
{
Console.WriteLine(empleados[f] + " - " + sueldostot[f]);
}
}
public void EmpleadoMayorSueldo()
{
int may = sueldostot[0];
string nom = empleados[0];
for (int f = 0; f< sueldostot.Length; f++)
{
if (sueldostot[f] > may)
{
may = sueldostot[f];
nom = empleados[f];
}
}
Console.WriteLine("El minero con mayor sueldo es " + nom + " que
tiene un sueldo de " + may);
}
static void Main(string[] args)
{
Matriz ma = new Matriz();
ma.Cargar();
ma.CalcularSumaSueldos();
ma.ImprimirTotalPagado();
ma.EmpleadoMayorSueldo();
Console.ReadKey();
}
}
}
CAPTURAS

Das könnte Ihnen auch gefallen