Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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;
}