martes, 25 de marzo de 2014
miércoles, 19 de marzo de 2014
herencia
#include<iostream>
#include<cstdlib>
#include<string>
// CLASES: DECLARACION
using namespace std;
class FIGURA {
private:
string nombre;
public:
FIGURA(string s="objeto"){nombre=s;};
void ingresar_nombre(string);
void mostrar_nombre();
};
void FIGURA::ingresar_nombre(string s){
nombre=s;
}
void FIGURA::mostrar_nombre(){
cout<<nombre<<endl;
}
class TRIANGULO: public FIGURA{
float base;
float altura;
public:
TRIANGULO(float b=1,float a=1){
ingresar_nombre("triangulo");
base=b; altura=a;
}
float area(){ return base*altura*0.5; }
};
int main(){
TRIANGULO t1(3,2),t2(5),t3;
cout<<t1.area()<<endl
<<t2.area()<<endl
<<t3.area()<<endl;
system("PAUSE");
}
#include<cstdlib>
#include<string>
// CLASES: DECLARACION
using namespace std;
class FIGURA {
private:
string nombre;
public:
FIGURA(string s="objeto"){nombre=s;};
void ingresar_nombre(string);
void mostrar_nombre();
};
void FIGURA::ingresar_nombre(string s){
nombre=s;
}
void FIGURA::mostrar_nombre(){
cout<<nombre<<endl;
}
class TRIANGULO: public FIGURA{
float base;
float altura;
public:
TRIANGULO(float b=1,float a=1){
ingresar_nombre("triangulo");
base=b; altura=a;
}
float area(){ return base*altura*0.5; }
};
int main(){
TRIANGULO t1(3,2),t2(5),t3;
cout<<t1.area()<<endl
<<t2.area()<<endl
<<t3.area()<<endl;
system("PAUSE");
}
declaracion de clases
#include<iostream>
#include<cstdlib>
#include<string>
// CLASES: DECLARACION
using namespace std;
class FIGURA {
private:
string nombre;
public:
FIGURA(string s="objeto"){nombre=s;};
void ingresar_nombre(string);
void mostrar_nombre();
};
void FIGURA::ingresar_nombre(string s){
nombre=s;
}
void FIGURA::mostrar_nombre(){
cout<<nombre<<endl;
}
int main(){
FIGURA f("Poligono");
//f.ingresar_nombre("Triangulo");
f.mostrar_nombre();
system("PAUSE");
}
#include<cstdlib>
#include<string>
// CLASES: DECLARACION
using namespace std;
class FIGURA {
private:
string nombre;
public:
FIGURA(string s="objeto"){nombre=s;};
void ingresar_nombre(string);
void mostrar_nombre();
};
void FIGURA::ingresar_nombre(string s){
nombre=s;
}
void FIGURA::mostrar_nombre(){
cout<<nombre<<endl;
}
int main(){
FIGURA f("Poligono");
//f.ingresar_nombre("Triangulo");
f.mostrar_nombre();
system("PAUSE");
}
miércoles, 12 de marzo de 2014
Ejemplos arreglos y funciones
#include<iostream>
#include<cstdlib>
using namespace std;
int posicion_del_menor(int[],int);//prototipo
int main(){
int A[]={5,1,8,9,1,1,4,3};
cout<<posicion_del_menor(A,8)<<endl;
system("PAUSE");
}
//implementacion
int posicion_del_menor(int A[],int num){
int x;
int pos;
x=A[0]; pos=0;
for(int i=1;i<num;i++) {
if (x>=A[i]){
x=A[i];pos=i;
}
}
return pos;
}
#include<iostream>
#include<cstdlib>
using namespace std;
float evalua(int [],int,float );
int main(){
int p[]={5,1,8,9,1,1,4,3};//coeficientes
int n=7;//grado del polinomio
cout<<evalua(p,7,0.5)<<endl;
system("PAUSE");
}
float evalua(int A[],int n,float x){
/* p(x)=A[0]+x*t
t = A[1]+x*t
...
t=A[n-1]+x*t
t=A[n] */
float t=A[n];
for(int i=n-1;i>=0;i--){
t=A[i]+x*t;
}
return t;
}
#include<iostream>
#include<cstdlib>
using namespace std;
void imprime(int [],int );
int main(){
int p[]={5,-1,8,9,-1,1,4,3};//coeficientes
int n=7;//grado del polinomio
imprime(p,7);
system("PAUSE");
}
void imprime(int A[],int n){
for(int i=0;i<=n;i++){
string signo;
signo="-";
if ( (A[i]>0)&&(i>0)){
signo="+";
}
if (i==0)
cout<<signo<<abs(A[i]);
else {
if (abs(A[i])==1){
cout<<signo<<"x^"<<i;
}
else {
cout<<signo<<abs(A[i])<<"x^"<<i;
}
}
}
}
#include<cstdlib>
using namespace std;
int posicion_del_menor(int[],int);//prototipo
int main(){
int A[]={5,1,8,9,1,1,4,3};
cout<<posicion_del_menor(A,8)<<endl;
system("PAUSE");
}
//implementacion
int posicion_del_menor(int A[],int num){
int x;
int pos;
x=A[0]; pos=0;
for(int i=1;i<num;i++) {
if (x>=A[i]){
x=A[i];pos=i;
}
}
return pos;
}
#include<iostream>
#include<cstdlib>
using namespace std;
float evalua(int [],int,float );
int main(){
int p[]={5,1,8,9,1,1,4,3};//coeficientes
int n=7;//grado del polinomio
cout<<evalua(p,7,0.5)<<endl;
system("PAUSE");
}
float evalua(int A[],int n,float x){
/* p(x)=A[0]+x*t
t = A[1]+x*t
...
t=A[n-1]+x*t
t=A[n] */
float t=A[n];
for(int i=n-1;i>=0;i--){
t=A[i]+x*t;
}
return t;
}
#include<iostream>
#include<cstdlib>
using namespace std;
void imprime(int [],int );
int main(){
int p[]={5,-1,8,9,-1,1,4,3};//coeficientes
int n=7;//grado del polinomio
imprime(p,7);
system("PAUSE");
}
void imprime(int A[],int n){
for(int i=0;i<=n;i++){
string signo;
signo="-";
if ( (A[i]>0)&&(i>0)){
signo="+";
}
if (i==0)
cout<<signo<<abs(A[i]);
else {
if (abs(A[i])==1){
cout<<signo<<"x^"<<i;
}
else {
cout<<signo<<abs(A[i])<<"x^"<<i;
}
}
}
}
viernes, 7 de marzo de 2014
una solucion
float area_total=0;
for (int k=0;k<num_tri;k++){
float sp=0;
int vert1,vert2,vert3;
float a,b,c,area;
float dx,dy;
vert1=T[k][0];
vert2=T[k][1];
vert3=T[k][2];
dx= P[vert2][0]-P[vert1][0];
dy= P[vert2][1]-P[vert1][1];
a=sqrt(dx*dx+dy*dy);
dx= P[vert3][0]-P[vert2][0];
dy= P[vert3][1]-P[vert2][1];
b=sqrt(dx*dx+dy*dy);
dx= P[vert1][0]-P[vert3][0];
dy= P[vert1][1]-P[vert3][1];
c=sqrt(dx*dx+dy*dy);
sp=0.5*(a+b+c) ;
area = sqrt(sp*(sp-a)*(sp-b)*(sp-c));
area_total+=area;
}
cout<<"Area total"<<area_total<<endl;
for (int k=0;k<num_tri;k++){
float sp=0;
int vert1,vert2,vert3;
float a,b,c,area;
float dx,dy;
vert1=T[k][0];
vert2=T[k][1];
vert3=T[k][2];
dx= P[vert2][0]-P[vert1][0];
dy= P[vert2][1]-P[vert1][1];
a=sqrt(dx*dx+dy*dy);
dx= P[vert3][0]-P[vert2][0];
dy= P[vert3][1]-P[vert2][1];
b=sqrt(dx*dx+dy*dy);
dx= P[vert1][0]-P[vert3][0];
dy= P[vert1][1]-P[vert3][1];
c=sqrt(dx*dx+dy*dy);
sp=0.5*(a+b+c) ;
area = sqrt(sp*(sp-a)*(sp-b)*(sp-c));
area_total+=area;
}
cout<<"Area total"<<area_total<<endl;
tRABAJO GRUPAL
La siguiente gráfica representa un lago, cuya superficie ha sido triangulada en N triángulos y M vértices, los datos sobre los triángulos se guardan en 2 matrices:
P de orden Mx2, que almacena los vértices:
P= [ v1_x , v2_ x, v3_x, ..., vM_x ;
v1_y , v2_ y, v3_y, ..., vM_y ]^t
T de orden Nx3, que almacena la numeración de los vértices de los triángulos
T = [ v1_1 v1_2 ... v1_N ;
v2_1 v2_2 ... v2_N ;
v3_1 v3_2 ... v3_N
]^t
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
const int num_tri=628;
const int num_ver=360;
int main(){
ifstream arch_p("p.dat");
ifstream arch_t("t.dat");
float P[num_ver][2];
int T[num_tri][3];
if (!arch_p) {
cout<<"Error al abrir el archivo de vertices";
} else {
for (int k=0;k<num_ver;k++){
arch_p>>P[k][0];
arch_p>>P[k][1];
}
}
if (!arch_t) {
cout<<"Error al abrir el archivo de triangulos";
} else {
for (int k=0;k<num_tri;k++){
arch_t>>T[k][0];
arch_t>>T[k][1];
arch_t>>T[k][2];
}
}
/*TAREAS
1.- Hallar el area total del mallado
2.- Hallar el area promedio
3.- Hallar el triangulo de mayor area
4.- Hallar el triangulo de menor area
5.- Hallar los triangulos cuyas areas esten alrededor
del 5% del area promedio
6.- Hallar el triangulo con mayor perimetro
7.- Hallar el triangulo con menor perimetro
8.- Hallar el perimetro promedio.*/
system("PAUSE");
miércoles, 5 de marzo de 2014
Ejercicios resueltos
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
float serie(float , int);
int main(){
float xx;
int nn;
do {
cout<<"Ingrese x=";cin>>xx;
} while ( (xx>=1) || (xx<=0));
do{
cout<<"Ingrese n=";cin>>nn;
} while(nn<=0);
cout<<"Serie= "<<serie(xx,nn)<<endl;
system("PAUSE");
}
float serie(float x, int n){
float suma=0;
float termino=1;
suma=termino;
for (int i=1;i<=n;i++){
termino*=x;
suma+=termino;
}
return suma;
}
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
float hipo1(float , float);
void hipo2(float , float, float &);
int main(){
float a,b,c;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c="<<hipo1(a,b)<<endl;
hipo2(a,b,c);
cout<<"c="<<c<<endl;
system("PAUSE");
}
float hipo1(float a, float b){
return sqrt(pow(a,2.0f)+pow(b,2.0f));
}
void hipo2(float a, float b, float& c){
c=hipo1(a,b);
}
#include <iomanip>
#include <cstdlib>
using namespace std;
float serie(float , int);
int main(){
float xx;
int nn;
do {
cout<<"Ingrese x=";cin>>xx;
} while ( (xx>=1) || (xx<=0));
do{
cout<<"Ingrese n=";cin>>nn;
} while(nn<=0);
cout<<"Serie= "<<serie(xx,nn)<<endl;
system("PAUSE");
}
float serie(float x, int n){
float suma=0;
float termino=1;
suma=termino;
for (int i=1;i<=n;i++){
termino*=x;
suma+=termino;
}
return suma;
}
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
float hipo1(float , float);
void hipo2(float , float, float &);
int main(){
float a,b,c;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c="<<hipo1(a,b)<<endl;
hipo2(a,b,c);
cout<<"c="<<c<<endl;
system("PAUSE");
}
float hipo1(float a, float b){
return sqrt(pow(a,2.0f)+pow(b,2.0f));
}
void hipo2(float a, float b, float& c){
c=hipo1(a,b);
}
lunes, 3 de marzo de 2014
Notas del examen parcial (actualizado)
Los estudiantes que hayan salido desaprobado en el parcial pueden presentar un ejercicio de los problemas propuestos en los laboratorios (3puntos)
Suscribirse a:
Entradas (Atom)