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:

No hay comentarios:

Publicar un comentario