Programacion C y C++
viernes, 26 de agosto de 2011
ultimo taller !!
1- Ingresar el numero de filas y numero de columnas
2- Ingresar datos a las matrices
Para cada objeto se pide:
a- Calcular el porcentaje de los datos que están por encima del promedio
de cada matriz
b- Ordenar la matriz de mayor a menor por filas de la primera a la ultima
y de izquierda a derecha
c- Hallar e imprimir la matriz transpuesta de cada matriz
Para todos los objetos
a- Cuantos datos están por encima del promedio de los datos de todas las
matrices
b- Calcular la suma de los datos primos que están por debajo del promedio
de los datos pares de todas las matrices.*/
#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace System;
using namespace std;
class MATRICES
{
int F, C, M[5][5], cont, dim;
float sumaDP, sumadatos;
public:
int contp[25], Totaldat[25];
int getFC();
void INGDAT();
void PORP();
void ORDM();
void MTRANS();
float DPARES();
float CONTDPARES();
void DATPRIMOS();
float SUMADATOS();
float CONTDATOS();
void DATOS();
};
int MATRICES::getFC()
{
return (F*C);
}
void MATRICES::INGDAT()
{
cout<<"\n Digite el numero de filas (max 5): ";
cin>>F;
cout<<"\n Digite el numero de columnas (max 5): ";
cin>>C;
for (int i=0; i<F; i++)
{
for(int j=0; j<C; j++)
{
cout<<"\n M["<<i+1<<"]["<<j+1<<"]: ";
cin>>M[i][j];
}
}
}
void MATRICES::PORP()
{
float sumadat=0, cont=0;
for (int i=0; i<F; i++)
{
for (int j=0; j<C; j++)
{
sumadat+=M[i][j];
}
}
float PROM=sumadat/(F*C);
for (int i1=0; i1<F; i1++)
{
for (int j1=0; j1<C; j1++)
{
if (M[i1][j1]>PROM)
{
cont++;
}
}
}
float porcentaje=(cont/(F*C))*100;
cout<<"\n El promedio de la matriz es: "<<PROM;
cout<<"\n El porcentaje de datos que estan por encima del promedio es: "<<porcentaje;
}
void MATRICES::ORDM()
{
int k=0, J[25], N[5][5];
for (int u=0; u<F; u++)
{
for (int v=0; v<C; v++)
{
J[k]=M[u][v];
k++;
}
}
for (int y=0; y<k-1; y++)
{
for (int x=y+1; x<k; x++)
{
if (J[y]<J[x])
{
float Temp=J[x];
J[x]=J[y];
J[y]=Temp;
}
}
}
int r=0;
cout<<"\n Matriz ordenada ";
for (int l=0; l<F; l++)
{
cout<<"\n";
for(int n=0; n<C; n++)
{
N[l][n]=J[r];
r++;
cout<<"\t"<<N[l][n];
}
}
}
void MATRICES::MTRANS()
{
cout<<"\n Matriz Transpuesta";
for (int q=0; q<C; q++)
{
cout<<"\n";
for (int t=0; t<F; t++)
{
cout<<"\t\t"<<M[t][q];
}
}
}
float MATRICES::DPARES()
{
sumaDP=0;
for (int h=0; h<F; h++)
{
for (int s=0; s<C; s++)
{
if ((M[h][s])%2==0)
{
sumaDP+=M[h][s];
}
}
}
return (sumaDP);
}
float MATRICES::CONTDPARES()
{
cont=0;
for (int h=0; h<F; h++)
{
for (int s=0; s<C; s++)
{
if ((M[h][s])%2==0)
{
cont++;
}
}
}
return (cont);
}
void MATRICES::DATPRIMOS()
{
int Ñ=0, w=0, G, R;
for (int K=0; K<F; K++)
{
for (int L=0; L<C; L++)
{
for (G=1; G<=M[K][L]; G++)
{
R=M[K][L]%G;
if (R==0)
{
Ñ++;
}
}
if (Ñ==2)
{
contp[w]=M[K][L];
w++;
}
Ñ=0;
}
}
contp[w]=0;
}
float MATRICES::SUMADATOS()
{
sumadatos=0;
for (int q1=0; q1<F; q1++)
{
for (int q2=0; q2<C; q2++)
{
sumadatos+=M[q1][q2];
}
}
return (sumadatos);
}
float MATRICES::CONTDATOS()
{
dim=0;
dim=F*C;
return (dim);
}
void MATRICES::DATOS()
{
int y1=0;
for (int i1=0; i1<F; i1++)
{
for (int j1=0; j1<C; j1++)
{
Totaldat[y1]=M[i1][j1];
y1++;
}
}
}
martes, 23 de agosto de 2011
correcion del segundo parcial :)
/*Ingresar los datos en un solo ciclo repetitivo a 2 vectores llamados X,Y de 5 y 4 posiciones respectivamente.
Los datos deberan ser ingresados en Y .
Posteriormenete ingresar datos del vector Z, con 16 posiciones.
Apartir de estos crear la matriz M cuadrada 5x5.
Los datos del vector X se ingresaran en la diagonal principal de la matriz, de abajo hacia arriba.
Los datos Y se ingresan en la diagonal secundaria de M. Sin sobrescribir el dato central [5].
Y los datos del vector Z se ingresan por filas de la ultima a la primera y de derecha a izquierda.
Sin sobrescribir ningun dato que ya esta en la matriz M.
Imprimir los 3 arreglos */
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <math.h>
using namespace System;
using namespace std;
void main()
{
float X[5],Y[4],Z[16];
int i,j;
//ENTRADA DE DATOS
cout<<"\n ingrese el valor de i ";
cin>>i;
cout<<"\n ingrese el valor de j ";
cin>>j;
float M[5][5];
for(i=0; i <5;i++)
{
for(j=0;j<5;j++)
{
if(i==j)
{
M[i][j]=X[4-i];
}
if(i+j==4&&i!=j)
{
if(i<2)
{
M[i][j]=Y[i];
}
else
{
M[i][j]=Y[i-1];
}
if(i!=j&&i+j!=4)
{
int c;
M[i][j]=Z[c];
c=c-1;
}
}
}
for(i=0;i<5;i++)
{
cout<<"\n";
for(j=0;j<5;j++)
{
cout<<M[i][j];
}
}
}
getch();
}
domingo, 21 de agosto de 2011
proyecto # 21
/* Programación Orientada a Objetos
Objeto: Cualquier cosa tangible o intangible, que posee características (atributos o propiedades) y que cumplen
determinadas funciones.
Clase: Un grupo de objetos que pertenecen a la "misma familia".
Mensaje: Información que es enviada de un objeto a otro.
Realizar un programa que permita ingresar la base y la altura de tres objetos llamados TR1, TR2 y TR3.
Estos tres objetos deben estar agrupados en una Clase llamada TRIANGULOS.
Calcular e imprimir para cada objeto:
1. El Área
2. El perímetro, suponiendo que los objetos triangulos son equilateros.
3. El apotema
*/
#include<iostream>
#include<iomanip>
#include<conio.h>
#include<math.h>
using namespace System;
using namespace std;
//declarar la clase de objetos
class TRIANGULOS
{
double BASE, ALTURA, AREA, PERIM, APOTEMA;
public:
void INGBASEALTURA();
void CALCAREA();
float CALCPERIMETRO();
float CALCAPOTEMA();
void IMPRIMIR();
};
//Implementacion de las funciones miembro de la clase
void TRIANGULOS::INGBASEALTURA()
{
cout<<"\n Digite la base del triangulo: "; cin>>BASE;
cout<<"\n Digite la altura del triangulo: "; cin>>ALTURA;
}
void TRIANGULOS::CALCAREA()
{
AREA=(BASE*ALTURA)/2;
}
float TRIANGULOS::CALCPERIMETRO()
{
PERIM=3*BASE;
return PERIM;
}
float TRIANGULOS::CALCAPOTEMA()
{
APOTEMA=(pow(3,0.5)/6);
APOTEMA=APOTEMA*BASE;
return APOTEMA;
}
void TRIANGULOS::IMPRIMIR()
{
cout<<"\n El area es: "<<AREA;
cout<<"\n El perimetro es: "<<PERIM;
cout<<"\n El apotema es: "<<APOTEMA;
getch();
}
//Programa principal
void main()
{
cout<<"\n W E L L C O M E";
//Declaracion de que objetos pertenecen a la clase
TRIANGULOS TR1, TR2, TR3;//TRIANGULOS TR[100];
cout<<"\n PARA EL TRINGULO UNO: ";
TR1.INGBASEALTURA();
TR1.CALCAREA();
float P= TR1.CALCPERIMETRO();
float A=TR1.CALCAPOTEMA();
TR1.IMPRIMIR();
cout<<"\n Para el triangulo dos: ";
TR2.INGBASEALTURA();
TR2.CALCAREA();
float P2= TR2.CALCPERIMETRO();
float A2=TR2.CALCAPOTEMA();
TR2.IMPRIMIR();
cout<<"\n Para el triangulo tres: ";
TR3.INGBASEALTURA();
TR3.CALCAREA();
float P3= TR3.CALCPERIMETRO();
float A3=TR3.CALCAPOTEMA();
TR3.IMPRIMIR();
float promperimetros=(P+P2+P3)/3;
cout<<"\n El promedio de perimetros es: "<<promperimetros;
}
void main()
{
cout<<"\n W E L L C O M E ";// Declaracion de que objetos pertenecen a la claseTRIANGULOS TR[5]
cout<<"\n\n Cuantos objetos desesa procesar? maximo 5: ";float P[5], A[5];float sumaperimentros=0float sumaapotemas=0for(int y=0; y<=O-1; y++)
{
cout<<"\n procesando el objeto numero :" <<y+1;
TR[y].INGBASEALTURA();
TR[y].CALCAREA();
P[y]=TR[y].CALCPERIMETRO();
sumaperimetros+=P[y];
A[y]=TR[y].CALCAPOTEMA();
sumapotemas+=A[y];
TR[y].IMPRIMIR();
}
cout<<"\n El promedio de las apotemas es: "<<sumapotemas/O;
cout<<"\n EL promedio de los perimetros es : "<<sumaperimetros/O;
}
Objeto: Cualquier cosa tangible o intangible, que posee características (atributos o propiedades) y que cumplen
determinadas funciones.
Clase: Un grupo de objetos que pertenecen a la "misma familia".
Mensaje: Información que es enviada de un objeto a otro.
Realizar un programa que permita ingresar la base y la altura de tres objetos llamados TR1, TR2 y TR3.
Estos tres objetos deben estar agrupados en una Clase llamada TRIANGULOS.
Calcular e imprimir para cada objeto:
1. El Área
2. El perímetro, suponiendo que los objetos triangulos son equilateros.
3. El apotema
*/
#include<iostream>
#include<iomanip>
#include<conio.h>
#include<math.h>
using namespace System;
using namespace std;
//declarar la clase de objetos
class TRIANGULOS
{
double BASE, ALTURA, AREA, PERIM, APOTEMA;
public:
void INGBASEALTURA();
void CALCAREA();
float CALCPERIMETRO();
float CALCAPOTEMA();
void IMPRIMIR();
};
//Implementacion de las funciones miembro de la clase
void TRIANGULOS::INGBASEALTURA()
{
cout<<"\n Digite la base del triangulo: "; cin>>BASE;
cout<<"\n Digite la altura del triangulo: "; cin>>ALTURA;
}
void TRIANGULOS::CALCAREA()
{
AREA=(BASE*ALTURA)/2;
}
float TRIANGULOS::CALCPERIMETRO()
{
PERIM=3*BASE;
return PERIM;
}
float TRIANGULOS::CALCAPOTEMA()
{
APOTEMA=(pow(3,0.5)/6);
APOTEMA=APOTEMA*BASE;
return APOTEMA;
}
void TRIANGULOS::IMPRIMIR()
{
cout<<"\n El area es: "<<AREA;
cout<<"\n El perimetro es: "<<PERIM;
cout<<"\n El apotema es: "<<APOTEMA;
getch();
}
//Programa principal
void main()
{
cout<<"\n W E L L C O M E";
//Declaracion de que objetos pertenecen a la clase
TRIANGULOS TR1, TR2, TR3;//TRIANGULOS TR[100];
cout<<"\n PARA EL TRINGULO UNO: ";
TR1.INGBASEALTURA();
TR1.CALCAREA();
float P= TR1.CALCPERIMETRO();
float A=TR1.CALCAPOTEMA();
TR1.IMPRIMIR();
cout<<"\n Para el triangulo dos: ";
TR2.INGBASEALTURA();
TR2.CALCAREA();
float P2= TR2.CALCPERIMETRO();
float A2=TR2.CALCAPOTEMA();
TR2.IMPRIMIR();
cout<<"\n Para el triangulo tres: ";
TR3.INGBASEALTURA();
TR3.CALCAREA();
float P3= TR3.CALCPERIMETRO();
float A3=TR3.CALCAPOTEMA();
TR3.IMPRIMIR();
float promperimetros=(P+P2+P3)/3;
cout<<"\n El promedio de perimetros es: "<<promperimetros;
}
void main()
{
cout<<"\n W E L L C O M E ";// Declaracion de que objetos pertenecen a la claseTRIANGULOS TR[5]
cout<<"\n\n Cuantos objetos desesa procesar? maximo 5: ";float P[5], A[5];float sumaperimentros=0float sumaapotemas=0for(int y=0; y<=O-1; y++)
{
cout<<"\n procesando el objeto numero :" <<y+1;
TR[y].INGBASEALTURA();
TR[y].CALCAREA();
P[y]=TR[y].CALCPERIMETRO();
sumaperimetros+=P[y];
A[y]=TR[y].CALCAPOTEMA();
sumapotemas+=A[y];
TR[y].IMPRIMIR();
}
cout<<"\n El promedio de las apotemas es: "<<sumapotemas/O;
cout<<"\n EL promedio de los perimetros es : "<<sumaperimetros/O;
}
Suscribirse a:
Comentarios (Atom)


