lunes, 3 de octubre de 2011

//Hacer una aplicación que entre una serie de valores numéricos //desde el teclado, los almacene en un vector y sume los elementos //de las posiciones pares, lo mismo que las posiciones impares por separado.

using System;

namespace Sum_Pars_e_Impars
{
class Program
{
public static int[] valores = new int [10];

public static void Main(string[] args)
{

LecturaDatos(valores);
ProcesoDatos(valores);
Console.ReadKey(true);
}

public static void LecturaDatos(int[] par)
{
int i=0;
Console.WriteLine("Ingresa 10 valores numericos ");
while(i<10){
valores[i]=Convert.ToInt16(Console.ReadLine());
i++;
}
}

public static void ProcesoDatos(int[] parm)
{
int par=0, impar=0;

for(int j=0; j<10; j++){
if(j%2==0)
par+=parm[j];
}

for(int m=0; m<10; m++){
if(!(m%2==0))
impar+=parm[m];
}

Console.WriteLine("Suma de las pocisiones pares es:   ====> {0}",par);
Console.WriteLine("Suma de las pocisiones impares es: ====> {0}",impar);

}
}
}

Ordenamiento Burbuja

using System;

namespace Ord_Burbuja
{
class Program
{
public static void Main(string[] args)
{
const int limite=10;
            int[ ] lista = new int[limite];
            IngresarDatos(lista);
            OrderDatos(lista);
            VisualizarDatos(lista);
           
Console.ReadKey(true);
}

public static void IngresarDatos(int[ ] param)
        {
       for(int i=0;i<param.Length;i++)
       {
       Console.Write("Ingrese valor [{0}]: ",i);
       param[i]=Convert.ToInt16(Console.ReadLine());
        }
        }
       
        public static void OrderDatos(int[ ] param)
        {
            int aux;
            for(int pasada=0;pasada<param.Length;pasada++)
            {
             for(int b=0;b<param.Length-1;b++)
             {
            if(param[b]<param[b+1])
            {
            aux=param[b];
            param[b]=param[b+1];
            param[b+1]=aux;
             }
             }
            }
        }
       
        public static void VisualizarDatos(int[ ] param)
        {
            Console.WriteLine("Vector Ordenado...");
            for(int i=0;i<param.Length;i++)
            {
            Console.Write("{0}\n", param[i] + "  ");
            }
        }
       
    }
}

Números Randomicos

using System;

namespace Num_Randomicos
{
class Program
{
public static void Main(string[] args)
{
Random rnd = new Random( );
const int limite =20;
int[ ] fafi = new int[limite];

for(int i=0;i<limite;i++)
{
fafi[i]=rnd.Next(1,10);
}

for(int i=0;i<limite;i++)
{
Console.WriteLine("Vector [{0}] = {1}",i,fafi[i]);
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);

}

}
}

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

using System;

namespace Prog_Promedios
{
class Program
{
public static int lim;

public static void Main(string[] args)
{

Console.WriteLine("Determine el tamaño del Arreglo ");
lim=Convert.ToInt16(Console.ReadLine());

Console.Clear();
double[] num = new double [lim];

Console.WriteLine("Ingrese los valores ");
for(int t=0; t<lim; t++)
num[t]=Convert.ToDouble(Console.ReadLine());

Procesamiento(num);


Console.ReadKey(true);
}

public static void Procesamiento (double[] pv)
{
double p=0, pf=0;

for(int j=0; j<lim; j++)
p+=pv[j];
pf=p/lim;

Console.WriteLine("Promedio ==> {0}" , pf);

double[] m = new double [lim];
double[] n = new double [lim];


Console.WriteLine("Valores menores al promedio ");
for(int l=0; l<lim; l++){
if(pv[l]<=pf)
m[l]=pv[l];
Console.WriteLine("[{0}]" , m[l]);
}

Console.WriteLine("Valores mayores al promedio ");
for(int e=0; e<lim; e++){
if(pv[e]>=pf)
n[e]=pv[e];
Console.WriteLine("[{0}]" , n[e]);
}


}

}
}

//Elaborar una aplicación que forme dos arreglos. El primero contiene los M códigos //de los estudiantes que perdieron LÓGICA DE PROGRAMACION y el segundo los N códigos //de los estudiantes que perdieron ESTRUCTURA DE DATOS. Partiendo de los dos arreglos //formar un nuevo arreglo con los códigos de los estudiantes que perdieron ambas materias.

using System;

namespace Prog_Estudiantes
{
class Program
{
public static void Main(string[] args)
{
string [] logic_prog = {"A5","A14","A21","A23","A25","A29","A33","A39","A41","A42"};
string [] estruc_datos = {"B1","B4","B15","B16","B18","B22","B26","B28","B30","B39"};

Info(logic_prog,estruc_datos);

Console.ReadKey(true);
}

public static void Info(string[] lo_po, string[] es_da)
{
Console.WriteLine("Codigos de alumnos que perdieron ");
Console.WriteLine(    "LOGICA DE PROGRAMACION ");
for(int i=0; i<10; i++)
Console.WriteLine(lo_po[i]);

Console.WriteLine("Codigos de alumnos que perdieron ");
Console.WriteLine(     "ESTRUCTURA DE DATOS ");
for(int j=0; j<10; j++)
Console.WriteLine(es_da[j]);

NuevoVector(lo_po,es_da);

}

public static void NuevoVector (string[] a, string[] b)
{
string [] uni = new string [10];

Console.WriteLine("Codigos de alumnos que perdieron ");
Console.WriteLine("ESTRUCTURA DE DATOS Y LOGICA DE PROGRAMACION ");
for(int i=0; i<10; i++){
uni[i]=a[i];
Console.WriteLine(uni[i]);
}
for(int m=0; m<10; m++){
uni[m]=b[m];
Console.WriteLine(uni[m]);
}

}
}
}

//Elaborar una aplicación que forme un vector B de M elementos //(el tamaño del vector lo define el usuario), luego entre el valor de la variable //CLAVE y la búsqueda secuencialmente dentro del arreglo, suspendiendo la búsqueda //cuando lo encuentre. Imprima un mensaje para el usuario, indicando si encontró //dicho valor o no, en caso afirmativo, indique la posición en la que estaba el dato.

using System;

namespace Prog_busqueda_vector
{
class Program
{
public static void Main(string[] args)
{
int tv;

Console.WriteLine("Define tamaño del vector ");
tv=Convert.ToInt16(Console.ReadLine());

Vector(tv);
Console.ReadKey(true);
}

public static void Vector (int p)
{
Console.Clear();
int i=0;
int[] b = new int [p];
Console.WriteLine("Ingresa los valores al vector ");
do{
b[i]=Convert.ToInt16(Console.ReadLine());
i++;
}while(i<p);
Verificacion(b,p);

}

}

}

//Ingresar 5 valores numéricos desde el teclado a un arreglo unidimensional, //invertir los valores en un segundo arreglo, visualizar el contenido //de los dos arreglos.

using System;

namespace Prog_arrays_invert
{
class Program
{
public static int[] arreglo = new int [5];

public static void Main(string[] args)
{
Datos(arreglo);
Ejecucion(arreglo);

Console.ReadKey(true);
}

public static void Datos (int[] a)
{
Console.WriteLine("Ingrese 5 valores ");
for(int i=0;i<5;i++)
a[i]=Convert.ToInt16(Console.ReadLine());
}

public static void Ejecucion (int[] b)
{
Console.SetCursorPosition(0,7);
for(int j=0;j<5;j++){
Console.Write("[{0}]" , b[j]);
}
Console.SetCursorPosition(0,9);
for(int p=4;p>=0;p--){
Console.Write("[{0}]" , b[p]);
}
}
}
}