Tuesday, June 14, 2005

EDatos - Practica //Tema IV

IV. a. Consistia en hallar los primeros 100 primos. Bueno aqui lo tengo un poquitin mas generico, para cualquier cantidad de numeros primos que desees hallar. Con este cuando el profesor lo dio en el curso se me abrio el pecho. Asi que vi por ahi que era mejor encontrar los != a primos y los restantes por ende son primos. En vez de tratar de validar cuando es primo.

Los problemas de tema 4.



public void numeroPrimos(long longitud)

{

//contador de la cantidad primos insertados.

long count = 1;

//empezamos desde 2 a probar los numeros hasta que el contador llegue a su limite.

long numeros = 2;

//declaramos el arreglo segun la longitud que se ha pasado como parametro.

long[] primos = new long[longitud];

// el #1 es un numero primo so vamos a entrar :).

primos[0] = 1;

//hasta que el contador llegue al limite.

while (count <= longitud - 1)

{

bool primo = true; long multi = 2;
//buscar un factor que sea mas grande que la raiz del numero a evaluar.

while ( multi * multi <= numeros )

{
//dividimos el numero por cualquier divisor posible. si el residuo es zero
//no es primo

if ( numeros % multi == 0 )

{
Console.WriteLine("no soy primo:"+numeros);
primo = false;
break;
}
multi++;
}

if (primo)

{
primos[count] = numeros;
count++;

}

numeros++;
}

}

B. Hallar la raiz. =) public int getRaiz(int numero)

{

int result = 0;

for (int i = 1; i <>

{

if (i * i == numero)

{

result = i;

}

}

return result;

}

C. El Mayor de 3 numeros. EZ.

public int mayorNumero(int x,int y,int z)

{

if (x > y)

y = x;

if (y > z)

return y;

else

return z;

}



D. Problema de 5 estudiantes 4 materias 3 notas. Promedio.

//Esta es la clase del main. Donde se va a llamar el metodo


class Program

{

static void Main(string[] args)

{

tema4 tema = new tema4();

int[,,] calificacion1 = new int[5,4,3];

int x = 0;

int y = 0;

while (y < 5)

{

Console.WriteLine("Este es el Alumno " + y.ToString());

while (x < 4)

{

Console.WriteLine("Inserte las 3 notas para la materia " + x.ToString());

calificacion1[y, x, 0] = Convert.ToInt32(Console.ReadLine());

calificacion1[y, x, 1] = Convert.ToInt32(Console.ReadLine());

calificacion1[y, x, 2] = Convert.ToInt32(Console.ReadLine());

x++;

}

x = 0;

y++;

}

Matriz m = new Matriz();

m = tema.MatrizEstudiantes(calificacion1);

}

}


/// <summary>

/// Creo mi propia estructura llamada matriz. Que forma un arrelo tridimencional.

/// con las dimenciones 5,4,3.

/// </summary>

public class Matriz

{

public int[, ,] ArregloInterno;


public Matriz()

{

this.ArregloInterno = new int[5, 4, 3];

}


public int this[int i, int j, int k]

{

get { return this.ArregloInterno[i, j, k]; }

set { this.ArregloInterno[i, j, k] = value; }

}

}


/// <summary>

/// Devuelve una matriz. Con los estudiantes.

/// </summary>

/// <param name="calificacion"></param>

/// <returns></returns>

public Matriz MatrizEstudiantes(int[,,] calificacion)

{

Matriz m = new Matriz();

int[] result = new int[3];



for (int k = 0; k < 5; k++)

{

for (int i = 0; i < 4; i++)

{

for (int j = 0; j < 3; j++)

{

m[k, i, j] = calificacion[k,i, j];

}

}

}

for (int k = 0; k < 5; k++)

{

Console.WriteLine(" // EL ALUMNO // " + k + " ");

for (int i = 0; i < 4; i++)

{

Console.Write(" ||Materia|| " + i + " ");


for (int j = 0; j < 3; j++)

{

result[j] = m[k, i, j];

}

int final = (result[0] + result[1] + result[2]) / 3;

Console.WriteLine(" Resultado " + final);


}

}



return m;

}



0 Comments:

Post a Comment

<< Home