Logo Studenta

Tarea_01 - Fernando Cesar Sandoval Padilla

¡Estudia con miles de materiales!

Vista previa del material en texto

UNIVERSIDAD DE GUADALAJARA 
 
CENTRO DE CIENCIAS EXACTAS 
E INGENIERIAS 
 
ESTRUCTURA DE DATOS I 
 
MAESTRO: ALFREDO GUTIERREZ HERNANDEZ 
 
INTEGRANTES: 
DURAN MANZANO MARIO 
215416114 
 
INGENIERIA INFORMATICA 
 
Actividad de Aprendizaje 01. Tipos de Dato primitivos y 
Tipos de Dato Estructurados 
Resumen del trabajo. 
Para iniciar con el proyecto, me fue un poco complicado conocer los objetos ya 
que mis clases anteriores solo llegaron a conocer los registros (estructuras), así que 
no me fue tan mal ya que tenía conocimientos previos. 
Por otra parte, también me confundí en la creación de las librerías, pero entendí 
bien cuando iba dando mi propio nombre a las clases y mandaba a llamar a las 
funciones y a los otros cpp que trabajan en conjunto con el cpp main, asi que me 
gusto la práctica, solo espero después no entren apuntadores, porque soy muy 
malo con ellos. 
En otro ámbito, me fue un poco complejo y tedioso acomodar la tabla, ya que no 
conocía los setw(), pero fue solo prueba y error, así que en todo caso, funciono 
bien, tampoco conocía lo de las librerías <climits> y las de <cfloat> para los 
tamaños de los tipos de dato, tuve que multiplicarlos por bits, ya que no aparecían 
bien los datos, y todo funciono bien al final, por parte del aleatorio, ya sabía usarlo, 
me gusto mucho la practica ya que no fue compleja y en todo caso, aprendí como 
funcionan bien las clases. 
En la parte de las matrices, no me fue difícil hacerlas, ya que solo se requerían dos 
for, uno para filas y otro para columnas, así que por ese lado fue sencillo. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Main.cpp 
 
#include <iostream> 
#include "table.h" 
#include "matri.h" 
using namespace std; 
 
int main() 
{ 
 char opc; 
 setlocale(LC_ALL,"spanish"); 
 Table objet; 
 Matri objet2; 
 do{ 
 system("cls"); 
 cout<<"Menu\na) Tamaño y rangos de tipo de dato primitivo\nb) 
Ejemplo de uso de Tipo de dato estructurado\nc) Salir\n"; 
 cout<<"Ingresa una opcion\n>> "; 
 cin>>opc; 
 if(opc=='C') 
 opc='c'; 
 switch(opc){ 
 case 'a': 
 objet.showTable(); 
 break; 
 case 'b':{ 
 int can; 
 cout<<"Ingresa el numero de filas y 
columnas\n>> "; 
 cin>>can; 
 while(can<3 || can>10){ 
 cout<<"La matriz debe ser de entre 3 a 
10 numeros\nIngresa de nuevo\n>> "; 
 cin>>can; 
 } 
 objet2.cantidad(can); 
 objet2.llenar(); 
 objet2.mostrar(); 
 } 
 break; 
 case 'c': cout<<"Gracias por visitar el 
programa\n\n\n"; 
 break; 
 default: cout<<"Ingresaste una opcion incorecta\n\n"; 
 } 
 }while(opc!='c'); 
 system("cls"); 
 system("pause"); 
 return 0; 
} 
 
Matri.cpp 
 
#include "matri.h" 
 
using namespace std; 
 
void Matri::cantidad(int num){ 
 x=num; 
} 
 
void Matri::llenar(){ 
 srand(time(NULL)); 
 for(int a=0; a<x ; a++) 
 for(int b=0 ; b<x ; b++){ 
 ma1[a][b]= -99 + ( rand() % 200 ); 
 ma2[a][b]= -99 + ( rand() % 200 ); 
 mul[a][b]=ma2[a][b]*ma1[a][b]; 
 su[a][b]=ma2[a][b]+ma1[a][b]; 
 } 
} 
 
void Matri::mostrar(){ 
 cout<<"Matriz 1"<<endl<<endl<<setw(7); 
 for(int a=0 ; a<x ; a++){ 
 for(int b=0 ; b<x ; b++) 
 cout<<ma1[a][b]<<setw(7); 
 cout<<endl; 
 } 
 cout<<"\n\n\nMatriz 2\n"<<endl<<endl<<setw(7); 
 for(int a=0 ; a<x ; a++){ 
 for(int b=0 ; b<x ; b++) 
 cout<<ma2[a][b]<<setw(7); 
 cout<<endl; 
 } 
 cout<<"\n\n\nMatriz sumada"<<endl<<endl<<setw(7); 
 for(int a=0 ; a<x ; a++){ 
 for(int b=0 ; b<x ; b++) 
 cout<<su[a][b]<<setw(7); 
 cout<<endl; 
 } 
 cout<<"\n\n\nMatriz multiplicada"<<endl<<endl<<setw(10); 
 for(int a=0 ; a<x ; a++){ 
 for(int b=0 ; b<x ; b++) 
 cout<<mul[a][b]<<setw(10); 
 cout<<endl; 
 } 
 cout<<endl<<endl; 
 system("pause"); 
} 
 
 
Matri.h 
 
#ifndef MATRI_H_INCLUDED 
#define MATRI_H_INCLUDED 
 
#include <iostream> 
#include <iomanip> 
#include <cfloat> 
#include <climits> 
#include <cstdlib> 
#include <time.h> 
 
 
class Matri{ 
 private: 
 float ma1[10][10], ma2[10][10], su[10][10], mul[10][10]; 
 int x; 
 public: 
 void cantidad(int); 
 void llenar(); 
 void mostrar(); 
}; 
 
#endif // MATRI_H_INCLUDED 
 
Table.cpp 
 
#include "table.h" 
 
using namespace std; 
 
void Table::showTable(){ 
 system("cls"); 
 cout<<"Tabla\n\n\n"; 
 cout<<"Caracter con signo"<<setw(11)<<sizeof( signed char) * 
CHAR_BIT<<setw(17)<<SCHAR_MIN<<setw(24)<<SCHAR_MAX<<endl<<endl; 
 cout<<"Caracter sin signo"<<setw(11)<<sizeof( unsigned char ) * 
CHAR_BIT <<setw(15)<<"0"<<setw(26)<<UCHAR_MAX<<endl<<endl; 
 cout<<"Entero corto con signo"<<setw(8)<<sizeof( unsigned short ) * 
CHAR_BIT <<setw(18)<<SHRT_MIN<<setw(24)<<SHRT_MAX<<endl<<endl; 
 cout<<"Entero corto sin signo"<<setw(8)<<sizeof( signed short ) * 
CHAR_BIT <<setw(14)<<"0"<<setw(28)<<USHRT_MAX<<endl<<endl; 
 cout<<"Entero largo con signo"<<setw(8)<<sizeof( unsigned long ) * 
CHAR_BIT<<setw(23)<<LONG_MIN<<setw(24)<<LONG_MAX<<endl<<endl; 
 cout<<"Entero largo sin signo"<<setw(8)<<sizeof( signed long) * 
CHAR_BIT <<setw(14)<<"0"<<setw(33)<<ULONG_MAX<<endl<<endl; 
 cout<<"Real de precision simple"<<setw(6)<<sizeof( float ) 
*CHAR_BIT <<setw(25)<<FLT_MIN<<setw(24)<<FLT_MAX<<endl<<endl; 
 cout<<"Real de doble precision"<<setw(7)<<sizeof( double )* CHAR_BIT 
<<setw(25)<<DBL_MIN<<setw(24)<<DBL_MAX<<endl<<endl<<endl<<endl; 
 system("pause"); 
} 
 
table.h 
 
#ifndef TABLE_H_INCLUDED 
#define TABLE_H_INCLUDED 
 
#include <iostream> 
#include <iomanip> 
#include <cfloat> 
#include <climits> 
#include <stdlib.h> 
 
class Table { 
 private: 
 public: 
 void showTable(); 
}; 
 
#endif // TABLE_H_INCLUDED 
 
IMPRESIONES DE PANTALLA

Continuar navegando

Materiales relacionados

240 pag.
kupdf net_a-prende-java_ejercicios

ULT

User badge image

Manuel Rodrigues Monameo

240 pag.
JAvA_CON_EJEMPLOS

ULT

User badge image

Manuel Rodrigues Monameo

66 pag.
ResumenIIC1103-2 (1)

User badge image

Central de Apuntes