martes, 7 de junio de 2016

Primer parcial

Practica 1
Parte 1 “Cajas”
Programa que pedirá la cantidad de piezas que tendrán las primeras 20 cajas, con esta información nos dara el promedio y la suma total de las piezas dentro de las cajas, la cantidad de cajas que tendrán menos de 50 piezas y cuales cajas tienen el mayor número de piezas.  
Código
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#define TAM 50
using namespace std;
void captura (int banda [])
{ int ref;
                printf ("Introduzca la cantidad de piezas dentro de las primeras 20 cajas\n");
                printf ("En un rango de 20 a 40 piezas\n");
                for (int i=1;i<=20;i++)
                {cout<<"Introduce la cantidad de piezas de la caja "<<i<<":\n"<<endl;
                               cin>>ref;
                               if(ref<20||ref>40)
                               { cout<<"No esta en el rango declarado"<<"intenta de nuevo"<<endl;
                               i--; }
                               banda[i]=ref; }
                system("pause");}
void prom (int banda[])
{ int suma=0;
                float prome=0;
                for(int j=1;j<=20;j++)
                { suma+=banda[j]; }
                prome=suma/20;
                cout<<"La suma total es de: "<<suma<<endl;
                cout<<"El promedio fue de: "<<prome<<endl;
                system ("pause");}
void men50 (int banda[]){
                int contador=0;
                for(int i=1;i<=10;i++)
                { if (banda[i]<50) {
                               contador++; } }
                cout<<"cajas con menos de 50 piezas: "<<contador<<endl;
                system ("pause");}
void mayme (int banda[]){
                int mayor=0, menor=100000, meni=0, mayi=0,cont=0,conte=0;
                for(int i=1;i<=10;i++)
                { if (banda[i]>mayor){
                                               mayor=banda[i];
                                               mayi=i; }
                               if(banda[i]<menor) {
                                               menor=banda[i];
                                               meni=i; }
                               if (banda[i]==mayor) {
           cont++;}
           if(banda[i]==menor) {
               conte++; }}
                cout<<"Caja con mayor numero "<<mayi<<"\n"<<"Existen "<<cont<<" cajas con la misma cantidad de piezas"<<endl;
                cout<<"Caja con menor numero "<<meni<<"\n"<<"Existen "<<conte<<" cajas con la misma cantidad de piezas"<<endl;
                system ("pause");}
int main()
{ int banda[TAM],op; do
                { system ("cls");
                               cout<<"Ejercicio de las cajas \n"<<endl;
                               cout<<"1.- Captura de datos"<<endl;
        cout<<"2.-Promedio y suma de los datos "<<endl;
        cout<<"3.-Cantidad de cajas con menor que 50 piezas "<<endl;
        cout<<"4.-Cajas con mayor numero "<<endl;
        cout<<"5.-Salir"<<endl;
                               cin>>op;
                               switch(op)
                               {  case 1:
                                                               system ("pause");
                                                               system ("cls");
                                                               captura(banda);
                                                               break;
                                                               case 2:
                                                                              system ("pause");
                                                                   system ("cls");
                                                                              prom(banda);
                                                                              break;
                                                                              case 3:
                                                                                  system ("pause");
                                                                       system ("cls");
                                                                                              men50(banda);
                                                                                              break;
                                                                                              case 4:
                                                                                      system ("pause");
                                                                           system ("cls");
                                                                                                              mayme(banda);
                                                                                                              break;
                                                                                                              case 5:
                                                                                                                             printf ("Hasta luego :3");
                                 break;
                                                                                                              default:
                                printf("Opcion no valida...\n\n");
                                system ("pause");
                                                                                                                             break;
                               }
                }while(op!=5);
                getch();}
Parte 2 “Edificio”
Programa que pedirá el numero de alumnos de una escuela en un rango de 28 a 35, mediate estos datos nos dara el total de alumnos por piso, la cantidad de alumnos en el piso 3, el numero de hombres que tendrá cada salón 5 de cada piso y el total de mujeres de los salones 2, 3 y 4 de cada piso.
Código
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#define COL 6
#define FIL 4
using namespace std;

void captura(int A[FIL][COL])
{
for (int f=1; f<FIL; f++)
{
cout<<"Introduce el numero de alumnos de la escuela en un rango de 28 a 35"<<endl;
for (int c=1; c<COL; c++)
{
     cout<<"Piso ["<<f<<"], Salon ["<<c<<"]"<<endl;
     cin>>A[f][c];
     if (A[f][c]<28||A[f][c]>35)
     {
     cout<<"No esta en el rango declarado intenta de nuevo"<<endl;
     A[f][c]--;
     }
}
}
                system("pause");


void cantidad (int A[FIL] [COL])
{
                int suma=0;
                for (int d=1; d<FIL; d++)
    {
    for (int e=1; e<COL; e++)
{
                suma+=A[d][e];
}
}
cout<<"La suma total de alumnos en la escuela es de: "<<suma<<endl;  
system ("pause");
}
void piso(int A[FIL][COL])
{
                int suma1=0, suma2=0, suma3=0;
                for (int r=1; r<FIL; r++)
    {
                for (int q=1; q<COL; q++)
                {
                suma1+=A[r][q];
                suma2+=A[r][q];
                suma3+=A[r][q];
}
printf ("\n");
cout<<"En el piso 1 se tiene la cantidad de alumnos: "<<suma1<<endl;
cout<<"En el piso 2 se tiene la cantidad de alumnos: "<<suma2<<endl;
cout<<"En el piso 3 se tiene la cantidad de alumnos: "<<suma3<<endl;
}
system ("pause");
}
void pisomenor(int A[FIL][COL])
{
                int contador=0, contador1;
for (int f=1; f<FIL; f++)
{
for (int c=1; c<COL; c++)
{
                               if (A[f][c]<A[f][contador])
                               {
                                              
                               contador++;
                               contador1=c;
}
}
}
                cout<<"El salon con menor cantidad de alumnos del piso 3 es: "<<contador1<<endl;
                system ("pause");
}

void hombres(int A[FIL][COL])
{
                int c, suma=0;
for (int f=1; f<FIL; f++)
{
                cout<<"Introduce la cantidad de hombres en el piso ["<<f<<"] del salon 5 "<<endl;
                cin>>A[f][c];
                suma+=A[f][c];
}
cout<<"El total de alumnos en la escuela es de: "<<suma<<endl;
system("pause");
}


void mujeres(int A[FIL][COL])
{
                int c, suma1=0, t, p, r, suma2=0, t1, p1, r1, suma3=0, t2, p2, r2;
                cout<<"Introduce la cantidad de mujeres en el piso 1 del salon 2 "<<endl;
                cin>>t;
                cout<<"Introduce la cantidad de mujeres en el piso 1 del salon 3 "<<endl;
                cin>>p;
                cout<<"Introduce la cantidad de mujeres en el piso 1 del salon 4 "<<endl;
                cin>>r;
                suma1=t+p+r;
               
                cout<<"Introduce la cantidad de mujeres en el piso 2 del salon 2 "<<endl;
                cin>>t1;
                cout<<"Introduce la cantidad de mujeres en el piso 2 del salon 3 "<<endl;
                cin>>p1;
                cout<<"Introduce la cantidad de mujeres en el piso 2 del salon 4 "<<endl;
                cin>>r1;
                suma2=t1+p1+r1;
               
                cout<<"Introduce la cantidad de mujeres en el piso 3 del salon 2 "<<endl;
                cin>>t2;
                cout<<"Introduce la cantidad de mujeres en el piso 3 del salon 3 "<<endl;
                cin>>p2;
                cout<<"Introduce la cantidad de mujeres en el piso 3 del salon 4 "<<endl;
                cin>>r2;
                suma3=t2+p2+r2;
               
cout<<"El total de alumnas en el piso 1 en los salones 2, 3, 4 es de: "<<suma1<<endl;
cout<<"El total de alumnas en el piso 2 en los salones 2, 3, 4  es de: "<<suma2<<endl;
cout<<"El total de alumnas en el piso 3 en los salones 2, 3, 4  es de: "<<suma3<<endl;
system("pause");
}


int main()
{
                int A[FIL][COL], op;
                do
                {
                               system ("cls");
                               cout<<"Ejercicio del edificio escolar \n"<<endl;
                               cout<<"1.- Captura"<<endl;
        cout<<"2.- Cantidad de alumnos de la escuela "<<endl;
        cout<<"3.- Total de alumos por piso "<<endl;
        cout<<"4.- Salon con menor cantidad de alumnos en el piso 3 "<<endl;
        cout<<"5.- Hombres en el salon 5 de cada piso"<<endl;
        cout<<"6.- Total de mujeres de los salones 2, 3 y 4 de cada piso"<<endl;
        cout<<"7.- Salir"<<endl;
                               cin>>op;
                               switch(op)
                               {
                 
                                               case 1:
                                                               system ("pause");
                                                               system ("cls");
                                                               captura(A);
                                                               break;
                                                              
                                                               case 2:
                                                                              system("pause");
                                                                              system("cls");
                                                                              cantidad(A);
                                                                              break;
                                                                             
                                                                              case 3:
                                                                                              system("pause");
                                                                                              system("cls");
                                                                                              piso(A);
                                                                                              break;
                                                                                             
                                                                                              case 4:
                                                                                                              system("pause");
                                                                                                              system("cls");
                                                                                                              pisomenor(A);
                                                                                                              break;
                                                                                                             
                                                                                                              case 5:
                                                                                                                             system("pause");
                                                                                                                             system ("cls");
                                                                                                                             hombres(A);
                                                                                                                             break;
                                                                                                                            
                                                                                                                             case 6:
                                                                                                                                             system("pause");
                                                                                                                                             system("cls");
                                                                                                                                             mujeres(A);
                                                                                                                                             break;
                                                                                                                                            
                                                                                                                                             case 7:
                                                                                                                                                             printf ("Nos vemos hasta luego :3  ");
                                                                                                                                                             break;
                                              
                                                                                                              default:
                                printf("Opcion no valida...\n\n");
                                system ("pause");
                                                                                                                             break;
                               }
                }while(op!=7);
                getch();
}

Practica 2
Parte 1 “IMC”
Programa que pedirá al usuario la estatura y el peso de n numero de personas, mediante estos valores calculara el índice de masa corporal (IMC), también cual persona tuvo menor y mayor estatura y el promedio del peso.
Código
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
void captura(float *est, float*pes, int N)
{
                for(int i=0;i<N;i++)
                {
                               cout<<"Ingrese estatura persona "<<i+1<<": "<<endl;
                               cin>>est[i];
                               cout<<"Ingrese peso persona "<<i+1<<": "<<endl;
                               cin>>pes[i];
                }
}

void indice(float *est, float *pes, int N)
{
                int cont1=0, cont2=0, cont3=0, cont4=0, cont5=0, i;
                float *IMC=NULL;
                IMC=new float[N];
                for(i=0;i<N;i++)
                {
                               IMC[i]=pes[i]/(pow(est[i],2));
                }
                for(i=0;i<N;i++)
                {
                               if(IMC[i]<18.5)
                               cont1++;
                               if(IMC[i]>=18.5 && IMC[i]<=24.9)
                               cont2++;
                               if(IMC[i]>=25 && IMC[i]<=29.9)
                               cont3++;
                               if(IMC[i]>=30 && IMC[i]<=39.9)
                               cont4++;
                               if(IMC[i]>=40)
                               cont5++;
                }
                cout<<cont1<<" Persona(s) tienen bajo peso"<<endl;
                cout<<cont2<<" Persona(s) tienen peso normal"<<endl;
                cout<<cont3<<" Persona(s) tienen sobrepeso"<<endl;
                cout<<cont4<<" Persona(s) tienen obesidad"<<endl;
                cout<<cont5<<" Persona(s) tienen obesidad morbida"<<endl<<endl;
                delete[]IMC;
}

void maymen(float *est, int N)
{
                float mayor=0, menor=1000;
    int ii, ij, i;
                for(i=0;i<N;i++)
                {
                               if(mayor<est[i])
                               {
                                               mayor=est[i];
                                               ii=i;
                               }
                               if(menor>est[i])
                               {
                                               menor=est[i];
                                               ij=i;
                               }
                }
                cout<<"La persona "<<ii+1<<" tiene la mayor estatura"<<endl;
                cout<<"La persona "<<ij+1<<" tiene la menor estatura"<<endl<<endl;
}


void prom(float *pes, int N)
{
                float prom=0, sum=0;
                int i;
                if(N>15)
                {
                               for(i=0;i<15;i++)
                               {
                                               sum+=pes[i];
                               }
                               prom=sum/15;
                }
                if(N<15)
                {
                               cout<<"Tus personas totales son menos de 15"<<endl;
                               for(i=0;i<N;i++)
                               {
                                               sum+=pes[i];
                               }
                               prom=sum/N;
                }
                cout<<"El promedio es = "<<prom<<endl<<endl;
}

int main()
{
                float *estatura=NULL, *peso=NULL;
                int N=0,opc;
               
                estatura= new float[N];
                peso= new float[N];
                do
                {    
                cout<<"Elija una opcion: "<<endl;
                cout<<"1.- Captura de datos."<<endl;
                cout<<"2.- Indice de Masa Corporal."<<endl;
                cout<<"3.- Mayor y menor estatura."<<endl;
                cout<<"4.- Promedio de peso."<<endl;
                cout<<"5.- Salir."<<endl;
                cin>>opc;
                switch (opc)
                {
           case 1:
                cout<<"Ingrese numero de personas"<<endl;
                cin>>N;
                captura(estatura,peso,N);
                   break;
                       case 2:
                                   if(N!=0)
                                               indice(estatura,peso,N);
                        else cout<<"*Sin Datos*"<<endl;
                   break;
                       case 3:
                                          if(N!=0)
                                                                  maymen(estatura,N);
                   else cout<<"*Sin Datos*"<<endl;
                   break;
                       case 4:
                                   if(N!=0)
                                               prom(peso,N);
                        else cout<<"*Sin Datos*"<<endl;
                   break;
                       case 5:
                               break;
                       default: cout<<"Error de opcion"<<endl<<endl;
                    break;
        }
        system("pause");
 }
    while(opc!=5);
                delete[]estatura;
                delete[]peso;
                system("pause>null");

}

Parte 2 “Letras”
Programa que pedirá al usuario el número de palabras que desea incertar, mediante estas palabras introducidas contara el número de volcales que poseen.
Código
#include <stdlib.h>
#include<iostream>
using namespace std;

int CuentaVocal(char *M)
{
                int i, k=0;
               
                  for(i=0; M[i]!='\0'; i++)
                  {
                                if (M[i]=='A'||M[i]=='a'||M[i]=='E'||M[i]=='e'||M[i]=='I'||M[i]=='i'||M[i]=='O'||M[i]=='o'||M[i]=='U'||M[i]=='u')
                               k++;      
               
                  }
                return k; 
}
main ()
{
                int n,opc;
                char *P,buffer;
                do
                {
                cout<<"Selecciona Una Opcion\n";
                cout<<"1.-\tContar Vocales\n";
                cout<<"2.-\tSalir"<<endl;
                cin>>opc;
                switch(opc)
                {
                case 1:
                cout<<"Cantidad de palabras a ingresar "<<endl;
                cin>>n;
    P=new char[(n+1)];
    cout<<endl<<P[0]<<endl;
  cout<<"Escriba la palabra "<<endl;
  getchar();
  gets (P);
  cout<<"La palabra contiene "<<CuentaVocal(P)<<" vocales"<<endl;
  break;
  case 2: cout<<"Hasta luego :3";
  break;
}
}while(opc!=2);
  delete[] P;
  system ("pause");
}

Parte 3 “Polinomio”
Programa que calculara el valor de un polinomio con un valor de x que el usuario ingresara, también el usuario introducirá el grado del polinomio.  
Código
#include <stdlib.h>
#include<iostream>
#include<math.h>
using namespace std;
float *GeneraVector(int n)
{
                float *V;
V=new float[n+1];
return V;
}

void IngresaDatos(float *V, int n)
{
     int i;
                for(i=0; i<=n;i++)
                {
                               cout<<"Ingresa el valor del coeficiente "<<i<<endl;
                               cin>>V[i];
                }
}
void MuestraP(float *V, float x,int n)
{
                float K=0; int i;
                for (i=0; i<=n;i++)
                {
                               cout<<V[i]<<"x^"<<i;
                                 if (i!=n)
                                 cout<<'+';
                }
                               cout<<endl;
                for (i=0; i<=n;i++)
                {
                               cout<<V[i]<<"("<<x<<")^"<<i;
                                 if (i!=n)
                                 cout<<'+';
                }
                cout<<endl;
                               for (i=0; i<=n;i++)
                               {
                                               K+=(V[i]*pow(x,i));
                               }
                              
                               cout<<"El resultado del polinomio es  "<<K<<endl;
}

main ()
{
                int n,opc;
                float x;
                float*V;
                do
                {
                cout<<"Que deceas hacer?"<<endl;
                cout<<"1.-\tHacer Ecuacion Del Polinomio De Grado 'N'"<<endl;
                cout<<"2.-\tSalir"<<endl;
                cin>>opc;
                switch(opc)
                {
                case 1:
                cout<<"Ingresa el grado del polinomio"<<endl;
                cin>>n;
               
                V=GeneraVector(n);
                IngresaDatos(V,n);
                cout<<"Ingresa el valor de X "<<endl;
                cin>>x;
                MuestraP(V,x,n);
                break;
                case 2: cout<<"Hasta pronto :3 \n";
                break;
}
}while(opc!=2);
                delete[] V;
                system("pause");
}

Parte 4 “Matriz”
Programa que pedirá la magnitud de una matriz mediante filas y columnas, mediantes los valores ingresados desplegara la matriz introducida y también su transpuesta.
Código
#include<iostream>
#include<cstdlib> //<stdlib.h>
#include<math.h>
using namespace std;
int **genera_matriz(int **a, int &fil, int &col)
{
    int i;
    cout<<"Introduce filas "<<endl;
    cin>>fil;
    cout<<"Introduce columnas "<<endl;
    cin>>col;
    a=new int *[fil]; //creamos filas (arreglo de apuntadores)
    for (i=0; i<fil; i++)
    {
        a[i]=new int [col]; //creamos columnas
    }
    return (a); //regresamos apuntador direccion
}

void captura_matriz(int **a, int &fil, int&col)
{
     int f, c;
     cout<<"Introduce la matriz"<<endl;
     for(f=0; f<fil; f++)
     {
              for(c=0; c<col; c++)
              {
                       cout<<"Elemento ["<<f<<"]["<<c<<"]";
                       cin>>a[f][c];
                       }
              }
 }
 void despliega_matriz(int **a, int &fil, int &col)
 {
      int f, c;
      cout<<"Desplegando matriz "<<endl;
      for(f=0; f<fil; f++)
      {
               for (c=0; c<col; c++)
               {
                   cout<<a[f][c]<<"\t";
               }
               cout<<endl;
               }
  }
int **transpuesta_matriz(int **a, int &fil, int &col)
{
     int **at;
     at=new int *[fil];
     for(int f=0; f<fil; f++)
     {    
           at[f]=new int [col];
           }
             cout<<"Despliega matriz transpuesta "<<endl;
              for (int c=0; c<col; c++)
              {
                  for (int f=0; f<fil; f++)
                  {
                     at[f][c]=a[c][f];
                      cout<<at[c][f]<<"\t";
              }
              cout<<endl;
              }
          cout<<endl;
          return (at);
          }
void ordenar_matriz(int **a, int &fil, int &col)
{
                int lista[fil];
                int temp=0;

for (int f=0;f<fil;f++)
{

for (int c=1;c<col;c++)
{
                for (int j=0;j<fil-1;j++)
                {
                               if (lista[j] > lista[j+1])     //condicion
                               {
                                               temp=lista[j];    //temp guarda momentaneamente el valor de lista[j]
                                               lista[j]=lista[j+1];  //Asigno al la posicion lista[j], lo que hay en lista[j+1]
                                               lista[j+1]=temp;              //obtendra un nuevo valor por parte de temp.
               
}
cout<<lista[j+1];
}
}
}
}
int main ()
{
    int **a, **at;//doble apuntador que genera matriz
    int fil, col;
    a=genera_matriz(a, fil, col);
    captura_matriz(a, fil, col);
    despliega_matriz(a, fil, col);
    at=transpuesta_matriz(a, fil, col);
    ordenar_matriz(a, fil, col);

    delete []a;
    system("pause>null");
}  



Practica 3 “Vinimos cuadrados”
Programa que mediante el método de mínimos cuadrados calculara el coeficiente de correlación, la ecuación de la recta tangente y la desvisacion estándar, gracias a valores que haya introducido el usuario.
Código
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;

class minimos
{
                private:
                               int n;//tamaño de muestra
                               float *x, *y;
                               float x1;
                               float mx;
                               float my;
                               float ai;
                public:
                               minimos();
                               void lectura();
                               void calcular_ecuacion();
                               void st();
                               void r();
                               void interpolar();
                               ~minimos();
};

minimos::minimos()
{
                n=0;
                x=NULL;
                y=NULL;
                x1=0;
}

void minimos::lectura()
{
                cout<<"Introduce el tamanio de la muestra"<<endl;
                cin>>n;
                x=new float[n];
                y=new float[n];
                for(int i=0; i<n; i++)
                {
                               cout<<"Introduce el valor de x"<<i+1<<endl;
                               cin>>x[i];
                               cout<<"Introduce el valor de y"<<i+1<<endl;
                               cin>>y[i];
                }
}

void minimos::calcular_ecuacion()
{
                float xi=0, yi=0, xiyi=0, xi2=0, xii, a1, a0, mxi, myi;
                for(int i=0; i<n; i++)
                {
                               xi+=x[i];
                               yi+=y[i];
                               xiyi+=(x[i]*y[i]);
                               xi2+=pow(x[i],2);
                }
                xii=pow(xi,2);
                a1=(n*xii-xi*yi)/(n*xii-xi2);
                mx=xi/n;
                my=yi/n;
                a0=my-ai*mx;
                cout<<"La ecuacion de ajuste es: "<<a0<<" + "<<a1<<" x "<<endl;
}


void minimos::r()
{
    
     if(*y>0&&*x>0)
     {
             cout<<"El coefisiente de relacion es positiva o directa"<<endl;
             }
     else if (*y<0&&*x>0)
     {
          cout<<"El coeficiente de relacion es negativa o inversa"<<endl;
      }  
      else
     {
          cout<<"No hay coeficinete de relacion "<<endl;
      }
 }

void minimos::st()
{
    cout<<""<<endl;
 }


minimos::~minimos()
{
 cout<<"Activar destructor"<<endl;                 
                   }
int main()
{
 minimos ecu1;
 ecu1.lectura();
 ecu1.calcular_ecuacion();
 ecu1.r();
 ecu1.st();
 system("pause>null");
}
Practica 1 (parte 1 "cajas")
Practica 1 (parte 2 "edificio")
Practica 2 (parte 1"IMC")
Practica 2 (parte 2 "Letras")
Practica 2 (parte 3"polinomio")
Practica 2 (parte 4 "matriz")







No hay comentarios:

Publicar un comentario