Está en la página 1de 7

19-9-2020 Actividad 1

Tipos de Dato primitivos y Tipos de Dato


Estructurados
En lo personal, se me está dificultando mucho POO, es la primera vez que lo manejo y
estaba completamente perdido, sin embargo tuve que investigarlo por mi cuenta, mi
compresión hacia el tema mejoro un poco pero no considerablemente, aun hay cosas que
no me quedan claras (incluyendo los ficheros .h y como implementarlos), así que opte por
hacerlo todo en el mismo .cpp, aunque no esta del todo a mi agrado (en el acomodo)
porque veo que con los ficheros .h hay una mejor organización, tendré que mejorarlo.
En conclusión, fue un proyecto entendible para su elaboración, lo complicado fue realizar
la búsqueda y las sintaxis de librerías para la parte A del programa, sin contar la
introducción a POO, como dije es un tema nuevo para mi y creo que no soy el único y no
tengo dudo que con su ayuda podremos mejorar.

 Código Fuente
#include <iostream>
#include <time.h>
#include <iomanip>
#include <limits>
#include <cstdlib>
#include <values.h>
#include <limits.h>
using namespace std;

class Matriz
{
private:
int i,j,DIM,k,sum=0;
float x[10][10],y[10][10],s[10][10], p[10][10];
float Rm=-100, RM=100;
public:
Matriz(int);
void Matrizsee();
};

Matriz::Matriz(int _DIM)
{
DIM=_DIM;
}

void Matriz::Matrizsee()
{

srand(time(NULL));
for(i=0;i<DIM;i++)
for(j=0;j<DIM;j++)
{
x[i][j]=(Rm+rand()/(RM-Rm));
}

cout<<"\n";
cout<<"La matriz 1 es: "<<endl<<endl;

for(i=0;i<DIM;i++)
{
for(j=0;j<DIM;j++)
{
cout<<fixed<<setprecision(2)<<x[i][j]<<" ";
}
cout<<endl;
}

cout<<endl;
for(i=0;i<DIM;i++)
for(j=0;j<DIM;j++)
{
y[i][j]=(Rm+rand()/(RM-Rm));
}

cout<<"\n";
cout<<"La matriz 2 es: "<<endl<<endl;

for(i=0;i<DIM;i++)
{
for(j=0;j<DIM;j++)
{
cout<<fixed<<setprecision(2)<<y[i][j]<<" ";
}
cout<<endl;
}

cout<<endl;

for(i=0;i<DIM;i++)
for(j=0;j<DIM;j++)
{
s[i][j]=x[i][j]+y[i][j];
}

cout<<"\n";
cout<<"La matriz suma es: "<<endl<<endl;
for(i=0;i<DIM;i++)
{
for(j=0;j<DIM;j++)
{
cout<<fixed<<setprecision(2)<<s[i][j]<<" ";
}
cout<<endl;
}

for(i=0;i<DIM;i++)
for(j=0;j<DIM;j++)
{
for(k=0;k<DIM;k++)
sum=sum+(x[i][k]*y[k][j]);
p[i][j]=sum;
sum=0;
}

cout<<"\n";
cout<<"La matriz producto es: "<<endl<<endl;

for(i=0;i<DIM;i++)
{
for(j=0;j<DIM;j++)
{
cout<<p[i][j]<<" ";
}
cout<<endl;
}
}

class Datos
{
public:
void Mostrar();
};

void Datos::Mostrar()
{
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
cout<< "Tipo de Dato\t\t|\t"<< "Bytes\t|\t" << "Valor Minimo\t|\t" << "Valor
Maximo\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
cout<< "Caracter con signo: \t|\t"<< sizeof(signed char) << "\t|\t" << CHAR_MIN <<
"\t\t|\t" << CHAR_MAX << "\t\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
std::cout << "Caracter sin signo: \t|\t"<< sizeof(unsigned char) << "\t|\t0" <<
"\t\t|\t" << UCHAR_MAX << "\t\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
std::cout << "Entero corto con signo: |\t"<< sizeof(signed int) << "\t|\t" << INT_MIN <<
"\t|\t" << INT_MAX << "\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
std::cout << "Entero corto sin signo: |\t"<< sizeof(unsigned int) << "\t|\t0" <<
"\t\t|\t" << UINT_MAX << "\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
std::cout << "Entero largo con signo: |\t"<< sizeof(signed long) << "\t|\t" << LONG_MIN
<< "\t|\t" << LONG_MAX << "\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
std::cout << "Entero largo sin signo: |\t"<< sizeof(unsigned long) << "\t|\t0" <<
"\t\t|\t" << ULONG_MAX << "\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
std::cout << "Real precision simple: |\t"<< sizeof(float) << "\t|\t" << "\t\t|\t" <<
"\t\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
std::cout << "Real de doble precision:|\t"<< sizeof(double) << "\t|\t" << "\t\t|\t" <<
"\t\t|\t" <<endl;
cout<<
"------------------------|---------------|-----------------------|-----------------------|"<
< endl;
}

int main()
{
int op, opc;

do
{
cout<< "MENU" <<endl;
cout<< "1) Tipos de Datos (Tamano y Rango)" <<endl;
cout<< "2) Matrices y Valores aleatorios" <<endl;
cout<< "3) Salir" <<endl;
cout<< "Opcion: "<<endl; cin>>opc;

switch(opc)
{
case 1:
{
Datos x1;
x1.Mostrar();
}
break;

case 2:
{int DIM;
cout<<"\n";
cout<<"Dame la dimension de tus matrices (Maximo 10, Minimo 3): ";
cin>>DIM;
Matriz p1 = Matriz(DIM);
p1.Matrizsee();}
break;

case 3:
return 0;
break;
}
cout<< "Quieres repetir el programa?"<<endl;
cout<< "1. Si, 2. No"<<endl;
cin>>op;

}
while(op != 2);
return 0;
}

 Capturas de la ejecución del programa

1. Menú del programa.

2. Opción #1. Mostrará la tabla de Datos.


3. Opción -Repetir- Y Matrices.

4. Regresar al Menú y Opción -Salir-.

También podría gustarte