miércoles, 27 de enero de 2016

Dos Array con Números Aleatorios Par e Impar. v1

/* Crear dos array con números aleatorios de cualquier tamaño:
    1) Primer Array con números aleatorios pares
    2) Segundo Array con números aleatorios impares
    3) Imprimir array
 * Author: William
 */


CÓDIGO EN C++

#include <iostream>
#include <ctime>
using namespace std;

/*---- Prototipos de Funciones -----*/
int genNumAleat( int min , int max );
int getNumPar( int min , int max );
int getNumImpar( int min , int max );

void llenarArray( int Array[] , int tam , int min , int max , bool par );
void imprimirArray(  int Array[] , int tam );

int main()
{   srand(time(NULL));
 
    int tam , min , max;
 
    cout << "\n\t\tDOS ARRAY CON NUMEROS ALEATORIOS\n";
    cout << "\t\t\tCON PAR E IMPAR\n";
    cout << "\nIngrese cantidad a generar: "; cin >> tam;
    cout << "Ingrese un rango\n";
    cout << "Val. Min: "; cin >> min;
    cout << "Val. Max: "; cin >> max;

    int ArrayPar[tam];
    int ArrayImpar[tam];

    llenarArray( ArrayPar , tam , min , max , true );
    llenarArray( ArrayImpar , tam , min , max , false);
 
    cout << "\n----- Array 1: Par ------\n";
    imprimirArray( ArrayPar , tam );
 
    cout << "\n----- Array 2: Impar ------\n";
    imprimirArray( ArrayImpar , tam );
 
  return 0;
}

/*---- Definicion de Funciones -----*/

//Genera numeros aleatorios
int genNumAleat( int min , int max )
{
    return rand() % (max - min + 1) + min;
}

//Funcion para verificar el numero generado (Para Par)
int getNumPar( int min , int max )
{
    int n = genNumAleat( min , max  );
    //Se valida el numero Par, luego se retorna.
    if( n%2 ==0 )
        return n;
    else
        if( (n+1) > max )
            return n-1;
        else
            return n+1;
}

//Funcion para verificar el numero generado (Para Impar)
int getNumImpar( int min , int max )
{
    int n = genNumAleat( min , max );
    //Se valida el numero Impar, luego se retorna.
    if( !(n%2 == 0) )
        return n;
    else
        if( (n-1) < min )
            return n+1;
        else
            return n-1;
}

//Se inserta los elementos
void llenarArray( int Array[] , int tam , int min , int max , bool par )
{
    for( int i = 0 ; i < tam ; i++)
        if(par)
            Array[i] = getNumPar( min , max );
        else
            Array[i] = getNumImpar( min , max );
}

//Imprime el contenido del array
void imprimirArray(  int Array[] , int tam )
{
    for( int i = 0 ; i < tam ; i++)
        cout << i << ")\t" << Array[i] << endl;
}

viernes, 22 de enero de 2016

Array con Numeros Aleatorios / Ordenar Array por el Método de Inserción (InsertionSort)


CÓDIGO EN C++

#include <iostream>
#include <ctime>
using namespace std;

/*------- Prototipos de Funciones --------*/

int genNumAleat( int min , int max );
void myArray( int v[] , int tam , int min , int max );
void imprimirArray(  int v[] , int tam );
void ordenarArray( int v[] , int tam );

int main()
{   srand(time(NULL));
 
    int tam , min , max; //Tamaño del array, valor minimo y el maximo
 
    cout << "\n\t\tArray con Numeros Aleatorios\n";
 
    cout << "\nIngrese cantidad a generar: ";
    cin >> tam;
 
    int Array[tam]; //Array
   
    cout << "Ingrese un rango:\n";
    cout << "Val. Min: ";    cin >> min;
    cout << "Val. Max: ";    cin >> max;
 
    myArray( Array , tam , min , max );
    ordenarArray( Array , tam );
    imprimirArray(  Array , tam );
 
 
  return 0;
}

/*------- Definicion de Funciones --------*/

//Genera numeros aleatorios
int genNumAleat( int min , int max )
{
   return rand() % (max - min + 1)+ min;
}

//Se llena el array
void myArray( int v[] , int tam , int min , int max )
{
    cout << "\nElementos del Array\n\n";
    for( int i = 0 ; i < tam ; i++)
        v[i] = genNumAleat( min , max );
}

//Imprime el contenido del array
void imprimirArray(  int v[] , int tam )
{
     for( int i = 0 ; i < tam ; i++)
         cout << i << ")\t" << v[i] << endl;
}

//Ordenar array por el metodo de Insercion
void ordenarArray( int v[] , int tam )
{
    for( int i = 1 ; i < tam ; i++ )
    {
        int aux =  v[i];
        int x = i-1;
     
        while( x >= 0 && aux < v[x] )
        {
            v[x+1] = v[x];
            --x;
        }
     
        v[x+1] = aux;
    }
}

domingo, 17 de enero de 2016

Figura: Triángulo Rectángulo Invertido con Asterisco. V3

CÓDIGO EN C++/FOR

#include <iostream>
using namespace std;

/* Prototipos de Funcion*/
int leer_num ();
void figuraTriangulo( int tam );

int main()
{
  figuraTriangulo( leer_num () );

  return 0;
}

/* Definicion de funcion */

//Recibe parámetro vacío, luego de leer numero por teclado devuelve en el main.
int leer_num()
{
    int num;
    cout<<"Ingrese un numero: ";
        cin>>num;
    while (num < 2 )
    {  
        cout<<"Ingrese otro numero: ";
        cin>>num;
    }
    return num; //Devuelve numero
 }

//Dibuja la figura
void figuraTriangulo( int tam )
{   cout << "\n";

    for(int line = 1 ; line <= tam ; line ++)
       {
            cout << line << ")\t"; //Imprime numero de filas (si gusta, se puede quitar)
 
            for(int col = line ; col <= tam ; col++)
            cout << "*"; // imprime asteriscos
     
            cout << endl;
        }
}

martes, 12 de enero de 2016

Figura: Triángulo Rectángulo con Asterisco. V1


CÓDIGO EN C++/FOR

#include <iostream>
using namespace std;

/* Prototipos de Funcion*/
int leer_num ();
void figuraTriangulo( int tam );

int main()
{
   figuraTriangulo( leer_num()); //pasar tamaño de la figura a la función

  return 0;
}

/* Definicion de funcion */

//Recibe parámetro vacío, luego de leer numero por teclado devuelve en el main.
int leer_num()
{
     int num;
    cout<<"Ingrese un numero: ";
        cin>>num;
    while (num < 2 )
    {  
        cout<<"Ingrese otro numero: ";
        cin>>num;
    }
    return num; //Devuelve numero
 }

//Dibuja la figura
void figuraTriangulo( int tam )
{   cout << "\n";

    for(int line = 1 ; line <= tam ; line ++)
    {
        cout << line << ")\t"; //Imprime numero de filas (si gusta, se puede quitar)
 
        for(int col = 1 ; col <= line ; col++)
        cout << "*"; // imprime asteriscos
     
        cout << endl;
    }
}

sábado, 9 de enero de 2016

Programa Que Calcula Edad, Mes y Día. v1


CÓDIGO EN C++

#include <iostream>
using namespace std;

//Prototipo de la funcion
void calcularEdad( int anioAct , int mesAct, int fechAct, int anioNac, int mesNac, int fechNac);

int main ()
{
    int anioAct;  //Año Actual
    int mesAct; //Mes actual
    int fechAct; //Fecha actual

    int anioNac; //Año nacimiento
    int mesNac; //Mes nacimiento
    int fechNac; //Fecha nacimiento

    cout << "\n\tPrograma que calcula la Edad, Mes y Dia\n\n";
    cout << "Ingrese Año Actual: ";   cin >> anioAct;
    cout << "Ingrese Mes Actual: ";   cin >> mesAct;
    cout << "Ingrese Fecha Actual: ";  cin >> fechAct;

    cout << "\nIngrese Año Nacimiento: ";  cin >> anioNac;
    cout << "Ingrese Mes de Nacimiento: ";  cin >> mesNac;
    cout << "Ingrese Fecha de Nacimiento: ";  cin >> fechNac;

    calcularEdad( anioAct , mesAct, fechAct, anioNac, mesNac, fechNac);

    return 0;
}

//Definicion de la Funcion
void calcularEdad( int anioAct , int mesAct, int fechAct, int anioNac, int mesNac, int fechNac)
{
    int respFech , respMes;

    if ( fechAct < fechNac  )
    {   //En caso de ser menor la fecha actual que el nacimiento
        fechAct = fechAct + 30; // Se le suma los 30 días (1 mes) a la fecha actual
        mesAct = mesAct - 1; // Se le resta un mes (30 días) al mes actual
        respFech =  fechAct - fechNac; //Se le resta fecha nacimiento al actual
    }
    else //En caso de ser mayor la fecha actual que el nacimiento
        respFech =  fechAct - fechNac;  //Se le resta fecha nacimiento al actual

    if( mesAct < mesNac )
    {   //En caso de ser menor el mes actual que el nacimiento
        mesAct = mesAct + 12; // Se le suma los 12 meses (1 año) al mes actual
        anioAct = anioAct - 1 ; // Se le resta 1 año ( 12 meses) al año actual
        respMes = mesAct - mesNac; //Se le resta año nacimiento al actual
    }
    else //En caso de ser mayor el mes actual que el nacimiento
        respMes = mesAct - mesNac; //Se le resta año nacimiento al actual
 
    cout << "\nUd. tiene:\n";
    cout << " Edad: " <<anioAct - anioNac << endl; //Muestra edad
    cout << " Mes: " << respMes << endl; //Muestra mes
    cout << " Dia: " << respFech << endl; //Muestra dia
}

Programa Que Genera Números Aleatorios. v1


CÓDIGO EN C++

#include <iostream>
#include <ctime>
using namespace std;

//Prototipo de la funcion
void genNumAleatorio( int tam , int min , int max );

 int main ()
{   srand(time(NULL)); //permite generar diferentes numeros
    int n;  //para n numeros aleatorios
    int min; //valor minimo
    int max; //valor maximo
   cout << "\t Programa que Genera Numeros Aleatorios\n";
    cout << "Ingrese cantidad a generar: ";
    cin >> n;
    cout << "Ingrese un rango\n";
    cout << "Valor Min: "; cin >> min;
    cout << "Valor Max: "; cin >> max;
 
    genNumAleatorio( n , min , max );

}

//Definicion de la Funcion
void genNumAleatorio( int tam , int min , int max )
{
    cout << "\nNumeros Aleatorios\n";
 
    for (int i = 1 ; i <= tam ; i++)
        {
            cout << i << ")\t" << rand() % (max - min + 1) + min; //Muestra numeros aleatorios
            cout << endl;
        }
}