Está en la página 1de 3

using System;

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

namespace Examen
{
class Calificacion
{

int[,] calificaciones;
Random oRandom = new Random();
public void IngresarProveedores()
{
Console.Write("Ingrese la cantidad de proveedores : ");
int cant = int.Parse(Console.ReadLine());
calificaciones = new int[cant, 5];
Console.WriteLine();
Console.WriteLine("P[] CA EN GA CO Col ");
Console.WriteLine();
for (int i = 0; i < calificaciones.GetLength(0); i++)
{
Console.Write("P" + i + " ");
for (int j = 0; j < calificaciones.GetLength(1); j++)
{
calificaciones[i, j] = oRandom.Next(0, 90);
if (calificaciones[i, j] >= 10)
{
Console.Write("" + calificaciones[i, j] + " ");
}
else
{
Console.Write(" " + calificaciones[i, j] + " ");
}

}
Console.WriteLine();
}

public void CalificacionPorProveedor()


{
Console.WriteLine("\nCalificacion por Proveedor : \n");
for (int i = 0; i < calificaciones.GetLength(0); i++)
{
double total = 0;
for (int j = 0; j < calificaciones.GetLength(1); j++)
{
total += calificaciones[i, j];
}
Console.WriteLine("Proveedor " + i + " : " + Math.Round((total /
calificaciones.GetLength(1)), 2));
}
}
public void OrdenarCalificacionesCosto()
{
Console.WriteLine("\nordernar los costos : \n");
int[] costos = new int[calificaciones.GetLength(0)];
for (int i = 0; i < calificaciones.GetLength(0); i++)
{
costos[i] = calificaciones[i, 3];
}
Ordenar(costos);
for (int i = 0; i < costos.Length; i++)
{
Console.WriteLine(costos[i]);
}
}
public void MejoresCalificaciones()
{
Console.WriteLine("\nlos dos mejores proveedores son : \n");
double[] calificaciones = new double[this.calificaciones.GetLength(1)];
int[] calificaciones_index = new int[this.calificaciones.GetLength(1)];
for (int i = 0; i < this.calificaciones.GetLength(0); i++)
{
double total = 0;
for (int j = 0; j < this.calificaciones.GetLength(1); j++)
{
total += this.calificaciones[i, j];
}
calificaciones[i] = (total / this.calificaciones.GetLength(1));
calificaciones_index[i] = i;
}
Ordenar(calificaciones, calificaciones_index);

for (int i = calificaciones.Length - 1; i > calificaciones.Length - 3;


i--)
{
Console.WriteLine("Proveedor " + calificaciones_index[i] + " con "
+ calificaciones[i]);
}
}
public void Ordenar(int[] numeros)
{
for (int k = 0; k < numeros.Length - 1; k++)
{
for (int f = 0; f < numeros.Length - 1 - k; f++)
{
if (numeros[f] > numeros[f + 1])
{
int aux;
aux = numeros[f];
numeros[f] = numeros[f + 1];
numeros[f + 1] = aux;
}
}
}
}

public void Ordenar(double[] numeros, int[] index)


{
for (int k = 0; k < numeros.Length - 1; k++)
{
for (int f = 0; f < numeros.Length - 1 - k; f++)
{
if (numeros[f] > numeros[f + 1])
{
double aux;
int auxi;
aux = numeros[f];
auxi = index[f];
numeros[f] = numeros[f + 1];
index[f] = index[f + 1];
numeros[f + 1] = aux;
index[f + 1] = auxi;
}
}
}
}

}
class Program
{
static void Main(string[] args)
{
Calificacion oCalificacion = new Calificacion();
oCalificacion.IngresarProveedores();
oCalificacion.CalificacionPorProveedor();
oCalificacion.MejoresCalificaciones();
oCalificacion.OrdenarCalificacionesCosto();
Console.ReadKey();
}
}
}

También podría gustarte