lunes, 23 de marzo de 2009

Soluciones propuestas a evaluación 2, grupo 21

Hacer una aplicación que forme un vector del que no se sabe el número de elementos (el tamaño y los datos los indica el usuario). Calcule el promedio de todos los elementos e imprima dos nuevos arreglos, uno con los elementos menores o iguales al promedio y otro con los superiores.


int[] a;
int tamaño, posicion = 0, suma = 0,promedio;

private void btnTamaño_Click(object sender, EventArgs e)
{
tamaño = Convert.ToInt32(txtTamaño.Text);
a = new int[tamaño];
grpCrear.Enabled = false;
grpLlenar.Enabled = true;
}

private void btnLlenar_Click(object sender, EventArgs e)
{
if (posicion < tamaño)
{
a[posicion] = Convert.ToInt32(txtLlenar.Text);
suma += a[posicion];
txtLlenar.Clear();
txtLlenar.Focus();
posicion++;
}
if (posicion == tamaño)
{
grpLlenar.Enabled = false;
grpResultado.Enabled = true;
}
}

private void btnResultado_Click(object sender, EventArgs e)
{
promedio=suma/tamaño;
txtPromedio.Text = promedio.ToString();
for (posicion = 0; posicion < tamaño; posicion++)
{
lblVector.Text += a[posicion].ToString() + " ";
if (a[posicion] <= promedio)
{
lblMenores.Text += a[posicion].ToString() + " ";
}
else {
lblMayores.Text += a[posicion].ToString() + " ";
}
}
grpResultado.Enabled = false;
}

Elabore una aplicación que forme una matriz de orden NxM y la llene de datos enteros, (esta información la proporciona el programador), encuentre e imprima el elemento mayor y menbor, así como sus posiciones.

int[,] A = { {3,5,1},{-6,3,4},{8,0,4},{5,-7,3}};
int i, j,mayor,menor,fMayor,fMenor,cMayor,cMenor;

private void btnVerMatriz_Click(object sender, EventArgs e)
{
for(i=0;i<4;i++){
for(j= 0;j<3;j++){
txtMatriz.Text += A[i, j].ToString() + "\t";
}
txtMatriz.Text += "\r\n";
}
}

private void btnCalcular_Click(object sender, EventArgs e)
{
fMayor = fMenor = cMayor = cMenor = 0;
mayor = A[0, 0];
menor = A[0, 0];
for (i = 0; i < 4; i++)
{
for (j = 0; j < 3; j++)
{
if(A[i, j]>mayor){
mayor = A[i, j];
fMayor=i;
cMayor=j;
}
else if (A[i, j] < menor)
{
menor = A[i, j];
fMenor=i;
cMenor=j;
}
}
}
txtMayor.Text = mayor.ToString();
txtMenor.Text = menor.ToString();
txtPosMayor.Text = "[" + fMayor + "," + cMayor + "]";
txtPosMenor.Text = "[" + fMenor + "," + cMenor + "]";
}

Elabore una aplicación que forme una matriz de orden NxM y la llene de datos enteros, (esta información la proporciona el programador), a continuación obtenga e imprima:
* Número de valores iguales a cero
* Suma de todos los elementos de las filas impares

int[,] A = { { 3, 5, 0 }, { -6, 3, 4 }, { 8, 0, 4 }, { 5, -7, 3 }, { 3, 0, -8 }, { 5, 0, 7 }, { 1, 7, 0 } };
int i, j, numCeros = 0, sumaImpares = 0;
private void btnCalcular_Click(object sender, EventArgs e)
{
for (i = 0; i < 7; i++)
{
for (j = 0; j < 3; j++)
{
if (A[i, j] == 0)
{
numCeros += 1;
}
}
}
txtCeros.Text = numCeros.ToString();
}

private void btnSuma_Click(object sender, EventArgs e)
{
for (i = 0; i < 7; i += 2)
{
for (j = 0; j < 3; j++)
{
sumaImpares += A[i, j];

}
txtSuma.Text += sumaImpares.ToString() + " ";
sumaImpares = 0;
}
}

private void btnVerMatriz_Click(object sender, EventArgs e)
{
for (i = 0; i < 7; i++)
{
for (j = 0; j < 3; j++)
{
txtMatriz.Text += A[i, j].ToString() + "\t";
}
txtMatriz.Text += "\r\n";
}

}

No hay comentarios:

Publicar un comentario