lunes, 3 de junio de 2013

Practica 7

 Problema 1a

Código:
#include <iomanip>
#include <iostream>
#include <fstream>
using namespace std;
unsigned int find_length(char *string) {
 unsigned int count = 0;
 while (*string)
  count++, string++;
 return count;}
int main(void)
 { fstream file;
 file.open("empleado.dat", fstream::out);
char *stuff[5][5] = {
  {"Anthony", "A", "10031",  "7.82", "12/18/05"},
  {"Burrows", "w", "10067",  "9.14", "06/09/04"},
  {"Fain",    "B", "10083",  "8.79", "05/18/04"},
  {"Janney",  "P", "10095", "10.57", "09/28/04"},
  {"Smith",   "G", "10105",  "8.50", "12/20/03"} };
unsigned int length[5] = {0,0,0,0,0};
 for (int j = 0; j < 5; j++)
  for (int i = 0; i < 5; i++) {
   unsigned int len;
   if ( (len  = find_length(stuff[i][j])) > length[j])
    length[j] = len; }
 for (int i = 0; i < 5; i++) {
  for (int j = 0; j < 5; j++)
   file << setw(length[j] + 1) << stuff[i][j];
  file << endl; }
 file.close();
 return 0;}

Solución:

Problema 1b

Código:
#include <iostream>
#include <fstream>
using namespace std;
int main(void) {
fstream r_file, w_file;
r_file.open("empleado.dat", fstream::in);
w_file.open("empleado.bak", fstream::out);
char c;
while (true) {
c = r_file.get();
if (r_file.eof())
break;
else
w_file << c;}
r_file.close();
w_file.close();

return 0;}

Solución:


Problema 1c

Código:
#include <iostream>
#include <fstream>
using namespace std;
int main(void) {
char *r_name, *w_name;
cout << "como se llama el archivo original? ";
cin >> r_name;
cout << "como se llamara la copia de dicho archivo? ";
cin >> w_name;
fstream r_file, w_file;
r_file.open(r_name, fstream::in);
w_file.open(w_name, fstream::out);
char *buff;
r_file >> buff;
w_file << buff;
r_file.close();
w_file.close();
return 0;}

Solución:


Problema 2
 Código:
#include <iomanip>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[]) {
// char *filename;
// cout << "Que archivo deseas abrir?: ";
// cin >> filename;
fstream file;
file.open(argv[1], fstream::in);
char c;
int i = 0;
bool startline = true;
while (true) {
c = (char)file.get();
if (file.eof())
break;
if (startline) {
cout << setw(3) << ++i << "| ";
startline = false;}
else
cout << c;
if (c == '\n')
startline = true;}
file.close();

return 0;}

Solución:


Problema 3a

Código:
#include <iomanip>
#include <iostream>
#include <fstream>
using namespace std;
unsigned int find_length(char *string) {
unsigned int count = 0;
while (*string)
count++, string++;
return count;}
int main(void) {
fstream file;
file.open("archivo.txt", fstream::out);
char *stuff[5][5] = {
  {"B", "Caldwell", "555-88-2222", "7.32", "37"},
  {"D", "Memcheck", "555-77-4444", "8.32", "40"},
  {"R", "Potter",   "555-77-6666", "6.54", "40"},
  {"W", "Rosen",    "555-99-8888", "9.80", "35"},
  {"A", "Smith",    "555-99-9999", "8.89", "36"}};
unsigned int length[5] = {0,0,0,0,0};
for (int j = 0; j < 5; j++)
for (int i = 0; i < 5; i++) {
unsigned int len;
if ( (len  = find_length(stuff[i][j])) > length[j])
length[j] = len;}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++)
file << setw(length[j] + 1) << stuff[i][j];
file << endl;}
file.close();

return 0;}

Solución



Problema 3b


Código:
#include <iomanip>
#include <iostream>
#include <fstream>
using namespace std;
void to_next(fstream file) {
char c;
do
if (file.eof())
return;
else
c = file.get();
while (c != ' ' && c != '\t');
do
c = file.get();
while (c == ' ' && c == '\t' && !file.eof());}
unsigned int find_length(char *string) {
unsigned int count = 0;
while (*string)
count++, string++;
return count;}
int main(void) {
fstream file;file.open("archivo.txt", fstream::in);
struct {char  initial;char  name[20];char  ssn[20];
float pph;int   hours;} data;
file.ignore(256, ' ');
for (int i = 0; i < 5; i++) {
 file >> data.initial>> data.name>> data.ssn>> data.pph>> data.hours;
cout << data.ssn << " "<< data.initial << " "<< data.name << " ";
//int count = find_length(data.name);
//for (int i = 0; i < 10 - count; i++)
//    cout << "-";
cout << data.pph * data.hours<< endl;
//cout << "length is " << count << endl;}

return 0;}

Solución:

domingo, 19 de mayo de 2013

Practica 6


Ejercicio 1
Código

#include <iostream>
#include <conio.h>
using namespace std;
string check(int num[5][4])
{int x,y;
for(x=0;x<5;x++)
{for(y=0;y<4;y++)
if(num[x][y]!=0)
return "no es Nula.*";}
return "es Nula.*";}
int main()
{int i, j, mat[5][4];
do{system("CLS");
cout<<"\tIngrese los valores de la matriz por fila:"<<endl;
for(i=0;i<5;i++)
{cout<<"Fila "<<i+1<<":"<<endl;
for(j=0;j<4;j++)
cin>>mat[i][j];}
cout<<"-----------------------------";
for(i=0;i<5;i++)
{cout<<endl;for(j=0;j<4;j++)cout<<mat[i][j]<<"\t";}
cout<<"*La Matriz "<<check(mat)<<endl;
cout<<"-----------------------------"<<endl;
do{cout<<"Desea Salir del Programa?\t1)Si\t2)no"<<endl;
cin>>i;}while(i!=1 && i!=2);}while(i==2);
return 0;}


Solución


Ejercicio 2
Código

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define TIPO int
#define MOD i

#define _STRING(x) #x
#define STRING(x) _STRING(x)
#define AT __FILE__ ":" STRING(__LINE__)
#define TOSTRING(x) "x"

int r = 0, c = 0;

TIPO *leer_matriz(void) {
    TIPO *arr = malloc(sizeof(TIPO)*r*c);
    for (int i = 0; i < r; i++) {
        for (int j = 0; j < c; j++) {
            printf("(%i, %i): ", i, j);
            scanf("%"STRING(MOD), (arr + i*c +j));
        }
    }
    printf("\n");

    return arr;
}

void desplegar_matriz(char *nombre, TIPO *arr) {
    printf("Desplegando la matriz: %s\n", nombre);
    printf("-------------------------\n");

    for (int i = 0; i < r; i++) {
        for (int j = 0; j < c; j++)
            printf("%3"STRING(MOD)" ", *(arr + i*c + j));
        printf("\n\n");
    }}

typedef enum {
    false = 0,
    true = 1
} bool;

bool mayor_que(TIPO *a, TIPO *b) {
    bool mayor = false;
    for (int i = 0; i < r; i++)
        for (int j = 0; j < c; j++)
            if ( *(a + i*c + j) < *(b + i*c + j) )
                return false;
            else if ( *(a + i*c + j) > *(b + i*c + j) )
                mayor = true;

    return mayor? true: false;
}

int main(void) {
    printf("Cuantas columnas?: ");
    scanf("%i", &c);

    printf("Cuantas filas?: ");
    scanf("%i", &r);

    printf("Dar los datos de la matriz A\n");
    TIPO *a = leer_matriz();

    printf("Dar los datos de la matriz B\n");
    TIPO *b = leer_matriz();

    desplegar_matriz("A", a);
    desplegar_matriz("B", b);

    printf("%s%s%s",
        "la matriz A ",
        (mayor_que(a,b)? "": "no "),
        "es mayor a la matriz B\n\n");

    return 0;
}



Solución


Ejercicio 3
Código

#include <iostream.h>
#include <conio.h>

void write(int num[5][6], int mul)
    {
      int x,y;

      cout<<"------------------------------------------------";
      for(x=0;x<5;x++)
      {
          cout<<endl;
          for(y=0;y<6;y++)
              cout<<(mul)*(num[x][y])<<"\t";
      }
      cout<<"\n----------------------------------------------"<<endl;
    }

int main()
    {
        int i, j, m, mat[5][6];
        do
        {
            cout<<"\tIngrese los valores de la matriz por fila:"<<endl;
            for(i=0;i<5;i++)
            {
               cout<<"Fila "<<i+1<<":"<<endl;
               for(j=0;j<6;j++)
                  cin>>mat[i][j];
            }
           
            cout<<"Por que numero desea multiplicar la matriz?: ";
            cin>>m;

            cout<<"\tLa matriz original:"<<endl;
            write(mat,1);
            cout<<"\tLa matriz multiplicada por "<<m<<" es:"<<endl;
            write(mat,m);
            do
            {
               cout<<"Desea Salir del Programa?\t1)Si\t2)no"<<endl;
               cin>>i;
            }while(i!=1 && i!=2);
        }while(i==2);
        return 0;
    }

Solución


Ejercicio 4
Código

#include <iostream>
#include <conio.h>
using namespace std;
int main()
{int j, i, MP=0, e, DP, dp, prod[6][5];
string nomb[6], mp;
do{system("CLS");
//lee
cout<<"--------------REPORTE SEMANAL DE PRODUCCION--------------'\n\t**Nombres de planta: 15 caracteres max.**"<<endl;
for(j=0;j<6;j++)
{cout<<"Ingrese el nombre  de la planta #"<<j+1<<":"<<endl;
cin>>nomb[j];
for(i=0;i<5;i++)
{cout<<"Produccion en el Dia "<<i+1<<": ";
cin>>prod[j][i];}
system("CLS");}
//desplega
cout<<"----------------------------------------------------------------"<<endl;
cout<<"|Planta|\tDia 1\tDia 2\tDia 3\tDia 4\tDia 5\tProd. Sem."<<endl;
for(j=0;j<6;j++)
{int r=0;DP=0;
cout<<nomb[j]<<"\t";
for(i=0;i<5;i++)
{cout<<"\t"<<prod[j][i];
r=r+prod[j][i];}
if(r>MP)
{MP=r;mp=nomb[j];e=j;}
cout<<"\t"<<r<<endl;}
for(i=0;i<5;i++)
{if(prod[e][i]>DP)
{DP=prod[e][i];dp=i;}}
cout<<"----------------------------------------------------------------"<<endl;
cout<<"\tTotales:\nPlanta mas productiva fue '"<<mp<<"' con "<<MP<<" Unidades."<<endl;
cout<<"El Dia "<<dp+1<<" la planta tuvo mayor produccion con "<<DP<<" Unidades. \n"<<endl;
do{cout<<"Desea Salir del Programa?\t1)Si\t2)no"<<endl;
cin>>i;}while(i!=1 && i!=2);}while(i==2);
return 0;}

Solución


Ejercicio 5a
Código

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void limpiarmatriz(T a[10] [10]);
template <class T>
void desplegarDatos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10])
{int r,c;
srand(time(NULL));
for (r=0; r<10; r++)
{for (c=0; c<10;c++)
 {a[r][c]=rand()%2;}}}
template <class T>
void desplegarDatos(T a[10] [10])
{int r,c;
for (r=0;r<10;r++)
 {for (c=0; c<10;c++)
 {if (r==c){cout<< (a[r][c]=1);}else{cout<<(a[r][c]=0);}}
 cout<<endl;}}
template <class T>
void limpiarmatriz(T a[10] [10])
{int r, c;
for (r=0;r<10;r++)
 {for (c=0; c<10;c++)
 {a[r][c]=0;}}}
void main()
{
int a[10] [10];
limpiarmatriz(a);
generarelementos(a);
desplegarDatos(a);
getch();}

Solución


Ejercicio 5b
Código

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void limpiarmatriz(T a[10] [10]);
template <class T>
void desplegarDatos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10])
{int r,c;
srand(time(NULL));
for (r=0; r<10; r++)
{for (c=0; c<10;c++)
 {a[r][c]=rand()%2;}}}
template <class T>
void desplegarDatos(T a[10] [10])
{int r,c;
for (r=0;r<10;r++)
 {for (c=0; c<10;c++)
 {if (r==c || r>c){cout<< (a[r][c]=1);}
 else {cout<<(a[r][c]=0);}}
 cout<<endl;}}
template <class T>
void limpiarmatriz(T a[10] [10])
{int r, c;
for (r=0;r<10;r++)
 {for (c=0; c<10;c++)
 {a[r][c]=0;}}}
void main()
{
int a[10] [10];
limpiarmatriz(a);
generarelementos(a);
desplegarDatos(a);
getch();}

Solución


Ejercicio 5c
Código

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void limpiarmatriz(T a[10] [10]);
template <class T>
void desplegarDatos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10])
{int r,c;
srand(time(NULL));
for (r=0; r<10; r++)
{for (c=0; c<10;c++)
 {a[r][c]=rand()%2;}}}
template <class T>
void desplegarDatos(T a[10] [10])
{int r,c;
for (r=0;r<10;r++)
 {for (c=0; c<10;c++)
 {if (r==c || r<c){cout<< (a[r][c]=1);}
 else {cout<<(a[r][c]=0);}}
 cout<<endl;}}
template <class T>
void limpiarmatriz(T a[10] [10])
{int r, c;
for (r=0;r<10;r++)
 {for (c=0; c<10;c++)
 {a[r][c]=0;}}}
void main()
{
int a[10] [10];
limpiarmatriz(a);
generarelementos(a);
desplegarDatos(a);
getch();}

Solución



lunes, 29 de abril de 2013

Ejercicio clase 29 de abril 2013

Ejercicio 1 (valores predeterminados)

Código:

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void lectruraDatos(T a[3] [4]);
template <class T>
void desplegarDatos(T a[3] [4]);
template <class T>
T sumaValores(T a[3] [4]);
template <class T>
void mayorValores(T a[3] [4], T& , int&, int&);
template <class T>
void menorValores(T a[3] [4], T&, int&, int&);
void main()
{int enteros[3][4]={{2,6,7,9},
                    {1,3,4,5},
                    {8,10,5,2}};
float numeros[3][4]={{2.1,3.4,5.1,6.2},
                     {1.1,2.4,7.2,8.1},
                     {1.5,10.0,9.2,4.5}};
float may=0, menor=0;int mayor=0, men=0;int pos1=0,pos2=0;
cout<<endl<<endl;
cout<<"Lsitado de Valores Reales\n";
desplegarDatos(numeros);
cout<<"La suma total es"<<sumaValores(numeros)<<endl;
mayorValores(numeros,may,pos1,pos2);
cout<<"El dato mayor es="<<may<<" en la posicion["<<pos1<<","<<pos2<<"]"<<endl;
menorValores(numeros,menor,pos1,pos2);
cout<<"El dato menor es="<<menor<<" en la posicion["<<pos1<<","<<pos2<<"]"<<endl;
cout<<"\n\nListado de valores Enteros\n\n";
desplegarDatos(enteros);
mayorValores(enteros,mayor,pos1,pos2);
cout<<"El dato mayor es="<<mayor<<" en la posicion["<<pos1<<","<<pos2<<"]"<<endl;
menorValores(enteros,men,pos1,pos2);
cout<<"El dato menor es="<<men<<" en la posicion["<<pos1<<","<<pos2<<"]"<<endl;
getch();  }
template <class T>
void lectruraDatos(T a[3] [4])
{int r,c;
for(r=0; r<3;r++)
{for(c=0; c<4;c++)
{cout<<"numero["<<r<<","<<c<<"];";
cin>>a[r][c];}}}
template <class T>
void desplegarDatos(T a[3][4])
{int r,c;
for (r=0;r<3;r++)
{for (c=0; c<4;c++)
{cout<<a[r][c]<<"\t";}
cout<<endl;}}
template <class T>
T sumaValores(T a[3][4])
{int r,c;T suma=0;
for (r=0;r<3;r++)
{for (c=0; c<4;c++)
{suma=suma+ a[r][c];}}
return suma;}
template <class T>
void mayorValores(T a[3][4], T& mayor, int& posr, int& posc)
{int r,c;mayor=a[0][0];posr=0;posc=0;
for(r=0; r<3;r++)
{for (c=0; c<4;c++)
{if (a[r][c]>mayor)
{mayor=a[r][c];posr=r;posc=c;}}}}
template <class T>
void menorValores(T a[3][4], T& menor, int& posr, int& posc)
{int r,c;menor=a[0][0];posr=0;posc=0;
for(r=0; r<3;r++)
{for (c=0; c<4;c++)
{if (a[r][c]<menor)
{menor=a[r][c];
posr=r;posc=c;}}}}


Solución:



Ejercicio 2 (Valores dados por el usuario)

Código:

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void lecturaDatos(T a[3] [4]);
template <class T>
void desplegarDatos(T a[3] [4]);
template <class T>
T sumaValores(T a[3] [4]);
template <class T>
void mayorValores(T a[3] [4], T& , int&, int&);
template <class T>
void menorValores(T a[3] [4], T&, int&, int&);
void main()
{
double valores [3][4];
double menor=0;double mayor=0;int pos1=0,pos2=0;
cout<<endl<<endl;
lecturaDatos(valores);
cout<<"Listado de valores doble precision\n\n";
desplegarDatos(valores);
cout<<"La suma total es"<<sumaValores(valores)<<endl;
mayorValores(valores,mayor,pos1,pos2);
cout<<"El dato mayor es="<<mayor<<" en la posicion["<<pos1<<","<<pos2<<"]"<<endl;
menorValores(valores,menor,pos1,pos2);
cout<<"El dato menor es="<<menor<<" en la posicion["<<pos1<<","<<pos2<<"]"<<endl;
getch();  }
template <class T>
void lecturaDatos(T a[3] [4])
{int r,c;
for(r=0; r<3;r++)
{for(c=0; c<4;c++)
{cout<<"numero["<<r<<","<<c<<"];";
cin>>a[r][c];}}}
template <class T>
void desplegarDatos(T a[3][4])
{int r,c;
for (r=0;r<3;r++)
{for (c=0; c<4;c++)
{cout<<a[r][c]<<"\t";}
cout<<endl;}}
template <class T>
T sumaValores(T a[3][4])
{int r,c;T suma=0;
for (r=0;r<3;r++)
{for (c=0; c<4;c++)
{suma=suma+ a[r][c];}}
return suma;}
template <class T>
void mayorValores(T a[3][4], T& mayor, int& posr, int& posc)
{int r,c;mayor=a[0][0];posr=0;posc=0;
for(r=0; r<3;r++)
{for (c=0; c<4;c++)
{if (a[r][c]>mayor)
{mayor=a[r][c];posr=r;posc=c;}}}}
template <class T>
void menorValores(T a[3][4], T& menor, int& posr, int& posc)
{int r,c;menor=a[0][0];posr=0;posc=0;
for(r=0; r<3;r++)
{for (c=0; c<4;c++)
{if (a[r][c]<menor)
{menor=a[r][c];
posr=r;posc=c;}}}}

Solución:

jueves, 25 de abril de 2013

ejercicio en clase 24/04/13






Ejercicio con Template <Class T> 

Código:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
template <class lml >
void generarNumeros(lml n[30])
{int i;srand(time(NULL));
cout<<"valores aleatorios"<<endl;
for(i=0;i<30;i++)
{n[i]=rand()%10;
cout<<"n["<<(i+1)<<"]:"<<n[i]<<endl;}}
template <class lml>
void promedio (lml n[30])
{int i;
float suma=0.0, promedio;
for(i=0;i<20;i++)
{suma=suma+n[i];}promedio=suma/20;
cout<<"El promedio es="<<promedio<<endl<<endl;}
template <class lml>
void arribamedia (lml n[30])
{int i, c;
float suma=0.0, promedio;
for (i=0;i<30;i++)
{if (n[i]>promedio)
{c++;}}
cout<<c<<" numueros mayor al promedio"<<endl<<endl;}
template <class lml>
void bajomedia (lml n[30])
{int i,c = 0,b = 0;
float suma=0.0,promedio;
for (i=0;i<30;i++)
{if (n[i]<promedio)
{c++ ;}
else
{if (n[i]==promedio)
{b++; }}}
cout<<c<<" numeros menores al promedio" <<endl<<endl;
cout<<b<<" numeros iguales al promedio" <<endl;}
void main ()
{float numeros[30];
generarNumeros(numeros);
promedio (numeros);
arribamedia (numeros);
bajomedia (numeros);
getch ();}

Solución:

lunes, 22 de abril de 2013

Practica 5

Ejercicio 1

Pseudocódigo

inicio
generarNumeros(float n[30]) void
 i int
srand(time(NULL))
write("Venta de cada dia")
for(i=0, i<30, i++)
{n[i]=rand()%50
write ("dia[", (i+1), "]:",n[i]}}
mayordeNumeros(float n[30]) void
{mayor=n[0],pos=0 reali
i int
for(i=1, i<30, i++)
{if (n[i]>mayor)
{mayor=n[i]
pos=i+1}}
write ("La venta mayor fue =", mayor)
write ("En el dia =", pos}}
menordeNumeros(float n[30]) void
{menor=n[0],pos=0 real
i int
for(i=1, i<30, i++)
{if (n[i]<menor)
{menor=n[i],
pos=i+1}}
write ("La venta menor fue  =",menor)
write ("En el dia =", pos)
void
{ valores[30]  real
generarNumeros(valores)
mayordeNumeros(valores)
menordeNumeros(valores)}
fin

Código

#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void generarNumeros(float n[30])
{int i;srand(time(NULL));
cout<<"Venta de cada dia"<<endl;
for(i=0;i<30;i++)
{n[i]=rand()%50;
cout<<"dia["<<(i+1)<<"]:"<<n[i]<<endl;}}
void mayordeNumeros(float n[30])
{float mayor=n[0],pos=0;
int i;
for(i=1;i<30;i++)
{if (n[i]>mayor)
{mayor=n[i];pos=i+1;}}
cout<<"La venta mayor fue ="<<mayor<<endl;
cout<<"En el dia ="<<pos<<endl;}
void menordeNumeros(float n[30])
{float menor=n[0],pos=0;
int i;
for(i=1;i<30;i++)
{if (n[i]<menor)
{menor=n[i];pos=i+1;}}
cout<<"La venta menor fue  ="<<menor<<endl;
cout<<"En el dia ="<<pos<<endl;}
void main ()
{float valores[30];
generarNumeros(valores);
mayordeNumeros(valores);
menordeNumeros(valores);
getch ();}

Solución

Ejercicio 2

Pseudocódigo
inicio
numero[25], par, impar, promedio,n , pp, pi int
srand (time(NULL))
for (n=0, n<25, n++)
{num[n]= rand()%10
write ("num[", n+1, "] = ", num[n])
par=0

impar=0
pp=0
pi=0
for (n=0, n<25,n++)
{if (num[n]%2==0)
{pp=pp+num[n]
par= par+1}

else
{pi=pi+num[n]
impar=impar+1}}
pp=pp/par
pi=pi/impar
write ("Se encontraron [",par,"] numeros par")
write ("Se encontraron [",impar,"] numeros impar")
write ("El promedio de los numeros par = ", pp)
write ("El promedio de los numeros impar = ",pi)
fin


Código

#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int main()
{int num[25], par, impar, promedio,n, pp, pi;
srand(time(NULL));
for (n=0;n<25;n++)
{num[n]= rand()%10;
cout<<"num["<<n+1<<"] = "<<num[n]<<endl;
par=0;impar=0;}
pp=0;pi=0;
for (n=0;n<25;n++)
{if (num[n]%2==0)
{pp=pp+num[n];par= par+1;}
else
{pi=pi+num[n];impar=impar+1;}}
pp=pp/par;pi=pi/impar;
cout<<"Se encontraron ["<<par<<"] numeros par"<<endl;
cout<<"Se encontraron ["<<impar<<"] numeros impar"<<endl;
cout<<"El promedio de los numeros par = "<<pp<<endl;
cout<<"El promedio de los numeros impar = "<<pi<<endl;
getch();
return 0;}

Solución
Ejercicio 3

Pseudocódigo:
inicio

void generarNumeros n[30] real)
{i int
srand(time(NULL))
write ("valores aleatorios")
for(i=0,i<30,i++)
{n[i]=rand()%10
write ("n[", (i+1), "]:", n[i]}}
void main ()
{ valores[30] real
generarNumeros(valores)
i, c = 0  int
 d real
write ( "buscar numero: ")
read d
for (i = 0, i < 30 , i++)
{if (valores[i] == d) {c++}}
write ( "encontrado " ,c ," veces" )
fin

Código:

#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void generarNumeros(float n[30])
{int i;srand(time(NULL));
cout<<"valores aleatorios"<<endl;
for(i=0;i<30;i++)
{n[i]=rand()%10;
cout<<"n["<<(i+1)<<"]:"<<n[i]<<endl;}}
void main ()
{float valores[30];
generarNumeros(valores);
int i, c = 0;float d;
cout << "buscar numero: ";
cin >> d;
for (i = 0; i < 30 ; i++)
{if (valores[i] == d) {c++;}}
cout << "encontrado " << c << " veces" << endl;
getch ();}

Solución:

Ejercicio 4

Pseudocódigo:
inicio

void generarNumeros( n[30] real)
{i int
srand(time(NULL))
"valores aleatorios"<<endl;
for(i=0, i<30, i++)
{n[i]=rand()%10
write ("n["<<(i+1)<<"]:", n[i]}}
void promedio ( n[30] real )
{int i;float suma=0.0,media;
for(i=0,i<30,i++)
{suma=suma+n[i]}
suma=suma/30
write ("Promedio: :",suma)
media=suma/2
write ("La media del Promedio es : ", media)}
void arribamedia ( n[30] real)
{ c=0, i int
 suma=0.0,media real
for(i=0,i<30,i++)
{if (n[i] > media){c++}}
write(c, " numeros son mayores de la media ")}
void abajomedia ( n[30] real)
{c=0, i int
suma=0.0, media real
for(i=0,i<30,i++)
{if (n[i]< media){c++}}
write(c, " numeros son menores de la media ")}
void igualmedia ( n[30] real)
 {c=0, i int
 suma=0.0, media real
for(i=0,i<30,i++)
{if (n[i]== media){c++}}
write(c, " numeros iguales a la media ")}
void main ()
{numeros [30] real
generarNumeros (numeros)
promedio (numeros)
arribamedia (numeros)
abajomedia (numeros)
igualmedia (numeros)
fin


Código:

#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void generarNumeros(float n[30])
{int i;srand(time(NULL));
cout<<"valores aleatorios"<<endl;
for(i=0;i<30;i++)
{n[i]=rand()%10;
cout<<"n["<<(i+1)<<"]:"<<n[i]<<endl;}}
void promedio (float n[30])
{int i;float suma=0.0,media;
for (i=0;i<30;i++)
{suma=suma+n[i];}
suma=suma/30;
cout<<"Promedio: :"<<suma<<endl;media=suma/2;
cout<<"La media del Promedio es : "<<media<<endl<<endl;}
void arribamedia (float n[30])
{int c=0, i;float suma=0.0,media;
for (i=0;i<30;i++)
{if (n[i] > media){c++;}}
cout<<c<<" numeros son mayores de la media "<<endl<<endl;}
void abajomedia (float n[30])
{int c=0, i;float suma=0.0, media;
for (i=0;i<30;i++)
{if (n[i]< media){c++;}}
cout<<c<<" numeros menores ala media " <<endl;}
void igualmedia (float n[30])
{int c=0, i;float suma=0.0, media;
for (i=0;i<30;i++)
{if (n[i]== media)
{c++;}}
cout<<c<<" numeros iguales ala media " <<endl;}
void main ()
{float numeros [30];
generarNumeros (numeros);
promedio (numeros);
arribamedia (numeros);
abajomedia (numeros);
igualmedia (numeros);
getch ();}

Solución:


Ejercicio 7

Pseudocódigo:

inicio
struct player_t {
    string name
    age, height,weight,goals,assistance,minutes_penalized,league_factor,evaluation real
} player[10]

struct {
    v real
    i int
} mayor = {0,0}

int main (void) {
    for (int i = 0, i < 10 , i++) {
        write( "===== Jugador " ,i+1 )
        write( "== Nombre: ")
        read player[i].name
        write( "== Edad: ")
          read player[i].age
        write( "== Altura: ")
          read  player[i].height
        write( "== Peso: ")
          read player[i].weight
        write( "== Goles: ")
          read player[i].goals
        write( "== Asistencia: ")
          read player[i].assistance
        write("== Minutos Penalizado: ")
          read player[i].minutes_penalized
        write("== Factor de Liga: ")
          read player[i].league_factor
        player[i].evaluation =
            (player[i].goals)
             + player[i].assistance
             + (player[i].minutes_penalized/4)
             + (player[i].height + player[i].weight)/5
             - player[i].age)*player[i].league_factor
        if (player[i].evaluation > mayor.v) mayor = {player[i].evaluation, i+1}
        write( "==== Evaluacion: " , player[i].evaluation )
        write( "======================" ) }

    write("==== Evaluacion Mayor: " ,mayor.v)
    write( "                  Por: Jugador " ,mayor.i )
fin

Código:

#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <string>
using std::string;

struct player_t {
    string name;
    float age;
    float height;
    float weight;
    float goals;
    float assistance;
    float minutes_penalized;
    float league_factor;
    float evaluation;
} player[10];

struct {
    float v;
    int i;
} mayor = {0,0};

int main (void) {
    for (int i = 0; i < 10 ; i++) {
        cout << "===== Jugador " << i+1 << endl;
        cout << "== Nombre: ";
        cin >> player[i].name;
        cout << "== Edad: ";
        cin >> player[i].age;
        cout << "== Altura: ";
        cin >> player[i].height;
        cout << "== Peso: ";
        cin >> player[i].weight;
        cout << "== Goles: ";
        cin >> player[i].goals;
        cout << "== Asistencia: ";
        cin >> player[i].assistance;
        cout << "== Minutos Penalizado: ";
        cin >> player[i].minutes_penalized;
        cout << "== Factor de Liga: ";
        cin >> player[i].league_factor;
        player[i].evaluation =
            (player[i].goals
             + player[i].assistance
             + (player[i].minutes_penalized/4)
             + (player[i].height + player[i].weight)/5
             - player[i].age)*player[i].league_factor;
        if (player[i].evaluation > mayor.v) mayor = {player[i].evaluation, i+1};
        cout << "==== Evaluacion: " << player[i].evaluation << endl;
        cout << "======================" << endl;
    }

    cout << "==== Evaluacion Mayor: " << mayor.v << endl;
    cout << "                  Por: Jugador " << mayor.i << endl;

    return 0;
}

Sólucion:


Ejercicio 8a


Pseudocódigo:

inicio
struct {
    v real
    d real
} n[10]

int main (void) {
     suma = 0, prom = 0 real
write( "==== Valores" )
    for (int i = 0 , i < 10 , i++) {
        write( "n[" ,i, "].v: ")
        read  n[i].v
        suma += n[i].v}
    prom = suma/10
   write( "====" )
    write( "Suma: " ,suma )
   write(  "Promedio: ", prom )
   write(  "==== Deviaciones")
    for (int i = 0 , i < 10 , i++) {
        n[i].d = n[i].v - prom
        write(  "n[" ,  i  , "].d: " , n[i].d )}
{  using namespace std
         file fstream
        file.open("8a.txt", fstream::out)
        for (int i = 0 , i < 10 , i++) {
            file,  n[i].d  }
        file.close() }}
fin

Código:

#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <fstream>

struct {
    float v;
    float d;
} n[10];

int main (void) {
    float suma = 0;
    float prom = 0;

    cout << "==== Valores" << endl;
    for (int i = 0 ; i < 10 ; i++) {
        cout << "n[" << i << "].v: ";
        cin >> n[i].v;
        suma += n[i].v;
    }
    prom = suma/10;
    cout << "====" << endl;
    cout << "Suma: " << suma << endl;
    cout << "Promedio: " << prom << endl;
    cout << "==== Deviaciones" << endl;
    for (int i = 0 ; i < 10 ; i++) {
        n[i].d = n[i].v - prom;
        cout << "n[" << i << "].d: " << n[i].d << endl;
    }

    {
        using namespace std;
        fstream file;
        file.open("8a.txt", fstream::out);
        for (int i = 0 ; i < 10 ; i++) {
            file << n[i].d << endl;
        }
        file.close();
    }

    return 0;
}

Sólucion:


Ejercicio 8b


Pseudocódigo:

inicio
using namespace std ;
dev[10] real
int main (void) {
    sum real
    file fstream
    file.open("8a.txt", fstream::in)
    for (int i = 0, i < 10, i++) {
        file >> dev[i]
        sum += dev[i]*dev[i]
    }
    file.close()
    float res = sum / 10
    write ("Resultado: " , res )
fin


Código:

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

float dev[10];

int main (void) {
    float sum;
    fstream file;
    file.open("8a.txt", fstream::in);
    for (int i = 0; i < 10; i++) {
        file >> dev[i];
        sum += dev[i]*dev[i];
    };
    file.close();
    float res = sum / 10;
    cout << "Resultado: " << res << endl;
    return 0;
}

Sólucion:




miércoles, 17 de abril de 2013

Ejercicio en clase 17 de abril

Ejercicio 1 (valores aleatorios)



Código:
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void generarNumeros(float n[20])
{int i;srand(time(NULL));
cout<<"valores aleatorios"<<endl;
for(i=0;i<20;i++)
{n[i]=rand()%500;
cout<<"n["<<(i+1)<<"]:"<<n[i]<<endl;}}
void sumarNumeros(float n[20])
{int i; float suma=0.0;
cout<<"\n\nListado de numeros\n";
for(i=0;i<20;i++)
{suma=suma+n [i];
cout<<"n["<<(i+1)<<"]:"<<n[i]<<endl;}
cout<<"la suma es="<<suma<<endl;}
void promedioNumeros(float n[20])
{int i; float suma=0.0;
for(i=0;i<20;i++)
{suma=suma+n[i];}
cout<<"El promedio es="<<suma/20<<endl;}
void mayordeNumeros(float n[20])
{float mayor=n[0],pos=0,i;
for(i=1;i<20;i++)
{if (n[1]>mayor)
{mayor=n[1];pos=i+1;}}
cout<<"El dato mayor es ="<<mayor<<endl;
cout<<"En la posicion ="<<pos<<endl;}
void main ()
{float valores[20];
generarNumeros(valores);
sumarNumeros(valores);
promedioNumeros(valores);
mayordeNumeros(valores);
getch ();}

Solución:


Ejercicio 2 (valores fijos)

Código:

#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void generarNumeros(float n[20])
{int i;
for(i=0;i<20;i++)
{cout<<"numero["<<(i+1)<<"]=";
cin>>n[i]; }}
void sumarNumeros(float n[20])
{int i; float suma=0.0;
cout<<"\n\nListado de numeros\n";
for(i=0;i<20;i++)
{suma=suma+n[i];
cout<<"n["<<(i+1)<<"]:"<<n[i]<<endl;}
cout<<"la suma es="<<suma<<endl;}
void promedioNumeros(float n[20])
{int i; float suma=0.0;
for(i=0;i<20;i++)
{suma=suma+n[i];}
cout<<"El promedio es="<<suma/20<<endl;}
void mayordeNumeros(float n[20])
{float mayor=n[0],pos=0,i;
for(i=1;i<20;i++)
{if (n[1]>mayor)
{mayor=n[1];pos=i+1;}}
cout<<"El dato mayor es ="<<mayor<<endl;
cout<<"En la posicion ="<<pos<<endl;}
void main ()
{float valores[20];
generarNumeros(valores);
sumarNumeros(valores);
promedioNumeros(valores);
mayordeNumeros(valores);
getch ();}

Solución:


Ejercicio en clase 15 de abril 2013

Ejercicio 1 (promedio y lista de valores mayores a este)

Pseudocódigo:
inicio
numero[10], prom=0, i, contador=0 int
for (i=0, i<=10, i=i+1)
{write ("numero[", (i+1), "]=")
read numero[i]
prom=prom+numero[i]
prom=prom /10
write ("el promedio es=", prom)
write ("listado de valores mayores o iguales al promedio=", prom)
for (i=0, i<10 , i++)
{    if (numero [i]>prom)
     write (numero[i])
     contador++ }}
write ("valores menores o igual al promedio=", contador)
fin

Código:

#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()  {
int numero [10], i, prom=0, contador=0;
for (i=0;i<10; i++)
  {cout<<"numero["<<(i+1)<<"]=";
   cin>>numero[i];
   prom=prom + numero [i];}
prom=prom /10;
cout<<"el promedio es="<<prom<<endl;
cout<<"listado de valores mayores o iguales al promedio="<<prom<<endl;
for (int i=0;i<10;i++)
{if (numero [i]>prom)
{cout<<numero[i]<<endl;
contador++;}}
cout<<"valores menores o igual al promedio="<<contador<<endl;
getch ();}


Solución:



Ejercicio 2 (numero mayor y su posición)



Pseudocódigo:

inicio
numero[10], suma, i, mayor=0 int
for (i=0, i<=10, i=i+1)
{write ("numero[", (i+1), "]=")
read numero[i]
suma=suma+numero[i]}
write ("listado de valores =")
for (i=0, i<10 , i++)
{   write (numero[i])}
write ("la suma total es=", suma)
mayor=numero[0]
 pos=0 int
for (i=0, i<=10, i=i+1)
{if (numero[i]>mayor)
{mayor=numero[i]
pos=1}}
write ("el numero mayor es=", mayor, "posicion=", pos)
fin


Código:

#include <iostream.h>
#include <conio.h>
#include <math.h>
void main ()  {
int numero [10], i,suma,mayor=0;
for (i=0;i<10; i++)
  {cout<<"numero["<<(i+1)<<"]=";
   cin>>numero[i];
   suma=suma+ numero [i];}
   cout<<"listado de valores"<<endl;
for ( i=0;i<10;i++)
{cout<<numero[i]<<endl; }
cout<<"la suma total es="<<suma<<endl;
mayor=numero[0];
int pos=0;
for ( i=0;i<10;i++)
{if (numero[i]>mayor)
{mayor=numero[i];
pos=1;}}
cout<<"el numero mayor es="<<mayor<<"posicion="<<(pos)<<endl;
getch ();}

Solución:




miércoles, 10 de abril de 2013

Practica 4

Practica 4

Ejercicio 1

Pseudocodigo

Inicio

write( " x z y " )
for (float x = 1 to  7 step  x++)
{
 for (float z = 2 to 8 step z++)
{
 if (x == z)
write( " ", x , " " , z , " " , "invalid function")
else
write( " " , x , " " , z , " " , x*x*z*z/(x-z) )
}
}
Fin


Codigo

#include <iostream>
#include <conio.h>

int main()
{
    cout << " x z y " << endl;
    for (float x = 1; x <= 7 ; x++)
   {
        for (float z = 2; z <= 8 ; z++)
        {
            if (x == z)
                cout << " " << x << " " << z << " " << "invalid function" << endl;
            else
              cout << " " << x << " " << z << " " << x*x*z*z/(x-z) << endl;
              }
              }
    getch();
    return 0;
}
 solucion:


Ejercicio 2

Pseudocodigo

Inicio

num, digito int
write("introduzca un valor entero= ")
read num
do
{
 digito=num%10
 read digito
 num=num/10
 }
 while(num!=0)

Fin

Codigo

/*Practica 4 problema 2
Aldrete Maldonado Christian
Martinez Gomez Jorge Luis
Osuna Arrasola Angel Andres
Velasco Sandoval Angel*/

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <math.h>

int main()
{

int num, digito;

cout<<"introduzca un valor entero= "<<endl;
cin>>num;
do
{
 digito=num%10;
 cout<<digito;
 num=num/10;
 }
 while(num!=0);

 getch();
 return 0;
 }


Solucion:






Ejercicio 3a


Pseudocodigo

Inicio
sigue char
m1, m2, m3 real
tot1=0, tot2=0, tot3=0, pedido int
costototal=0.0 real
do
{
write("Total del producto A= ")
read pedido
write("costo de material 1= ")
read m1
write("costo de material 2= ")
read m2
write("costo de material 3= ")
read m3

write("Material  Total de Unidades  Costo Estimado")
tot1=3*m1*pedido
tot2=4*m2*pedido
tot3=2*m3*pedido
costototal=tot1+tot2+tot3+costototal
write(" 1 ","        ",3*pedido,"                  ",tot1)
write(" 2 ","        ",4*pedido,"                 ",tot2)
write(" 3 ","        ",2*pedido,"                  ",tot3)
write("otro pedido")
read sigue
}
while (sigue=='s' || sigue=='s') 
write("costo total=",costototal)

Fin


Código:
#include <iostream.h>
#include <conio.h>
int main (){
float g,v,n;
float suma, sv, promedio;
for(g=1; g<=5;  g=g+1){
suma=0.0;
cout<<"introdusca los voltajes de salida para generador="<<g<<endl;
for (v=1; v<=3; v=v+1){
cout<<"Voltaje de salida"<<v<<"=";
cin>>sv;
suma=suma+sv;}
promedio=(suma/3);
cout<<"El promedio del generador electrico num("<<g<<")="<<promedio<<endl<<endl;}
getch ();
return 0;}

Imagen:


Ejercicio 3b


Pseudocodigo

Inicio
sigue char
m1, m2, m3 real
tot1=0, tot2=0, tot3=0, pedido int
costototal=0.0 real
do
{
write("Total del producto A= ")
read pedido
write("costo de material 1= ")
read m1
write("costo de material 2= ")
read m2
write("costo de material 3= ")
read m3

write("Material  Total de Unidades  Costo Estimado")
tot1=3*m1*pedido
tot2=4*m2*pedido
tot3=2*m3*pedido
costototal=tot1+tot2+tot3+costototal
write(" 1 ","        ",3*pedido,"                  ",tot1)
write(" 2 ","        ",4*pedido,"                 ",tot2)
write(" 3 ","        ",2*pedido,"                  ",tot3)
write("otro pedido")
read sigue
}
while (sigue=='s' || sigue=='s') 
write("costo total=",costototal)

Fin


Código:
#include <iostream.h>
#include <conio.h>
int main (){
float g,v,n;
float suma, sv, promedio, prognl=0.0;
for(g=1; g<=5;  g=g+1){
suma=0.0;
cout<<"introdusca los voltajes de salida para generador="<<g<<endl;
cout<<"Cuantas pruebas desea realizar=";
cin>>n;
for (v=1; v<=n; v=v+1){
cout<<"Voltaje de salida=";
cin>>sv;
suma=suma+sv;}
promedio=suma/n;
prognl=promedio+prognl;
cout<<"El promedio del generador electrico num("<<g<<")="<<promedio<<endl<<endl;}
cout<<"Promedio general de todos los generadores="<<prognl/5;
getch ();
return 0;}

Imagen


Ejercicio 4

Pseudocodigo

Inicio
cost[3] = {0,0,0} real
total[3] = {0,0,0}, order = 0 int
total_cost = 0 real
cuants[3] = {3,4,2} int
cont = 0 char
for (int j = 0 to 3 step j++)
do 
{
write( "dame el total del producto " , (char)(0x41+j) , ": ")
read order
for (int i = 0 to 3 step i++) 
{
write( "costo material " , i+1 , ": ")
read cost[i]
 }
write( " | material | total de unidades | costo estimado | " )
 for (int i = 0; i < 3 ; i++) 
{
total_cost += total[i] = cost[i] * order
write( " | " , setw(8)  , i+1 , " | " , setw(17) , cuants[i]*order, " | " , setw(14) , total[i], " | ")
}
write( "quieres otro pedido de " , (char)(0x41+j) , "? [s/n] ")
read cont
write( "---------------------------------------------------" )
}
while (cont == 's' || cont == 'S')
write( "costo total: " , total_cost)

Fin



Codigo


#include <iostream>
#include <conio.h>
#include <iomanip>


int main (void) {
    float cost[3] = {0,0,0};
    int total[3] = {0,0,0}, order = 0;
    float total_cost = 0;
    int cuants[3] = {3,4,2};
    char cont = 0;
    for (int j = 0; j < 3 ; j++)
        do {
            cout << "dame el total del producto " << (char)(0x41+j) << ": ";
            cin >> order;
            for (int i = 0; i < 3 ; i++) {
                cout << "costo material " << i+1 << ": ";
                cin >> cost[i];
            }
            cout << " | material | total de unidades | costo estimado | " << endl;
            for (int i = 0; i < 3 ; i++) {
                total_cost += total[i] = cost[i] * order;
                cout << " | " << setw(8)  << i+1
                     << " | " << setw(17) << cuants[i]*order
                     << " | " << setw(14) << total[i]
                     << " | " << endl;
            }
            cout << "quieres otro pedido de " << (char)(0x41+j) << "? [s/n] ";
            cin >> cont;
            cout << "---------------------------------------------------" << endl;
        } while (cont == 's' || cont == 'S');

    cout << "costo total: " << total_cost << endl;
    return 0;
}

Solucion: