You are on page 1of 1

Curso de programacion II Semestre 2018-I

Facultad de Ciencias UNAM


Prof. Daniel A. Cervantes Cabrera
Ayud. Alejandro Salazar Sanchez
Tarea 1: Selecciona uno de los siguientes opciones.
1. Manejo de matrices de n m. Suponga que se define la siguiente estructura que permite representan una
matriz de n m:
struct Matrix{
float ** matrix;
int n;
int m;
};
Implantar las funciones siguientes y realizar un programa de prueba de las mismas.
void buildMatrix(int,int, Matrix &); //Reserva las localidades de memoria
void randomMatrix(Matrix &); //Almacena numeros aleatorios en las localidades de la matriz
void sumMatrix(const Matrix &,const Matrix &,Matrix &); //Suma de matrices
void multMatrix(const Matrix &,const Matrix &,Matrix &); //Multiplicacion de matrices
void transposeMatrix(const Matrix &, Matrix &); //Multiplicacion de matrices
void diagMatrix(const Matrix &, Matrix &); ///Obtiene matriz triangula superior
2. Manejo de conjuntos de reales truncados de n elementos. Suponga que se define la siguiente estructura
que permite representar un conjunto de de numeros reales de cardinalidad card.
struct Set{
float *set;
int card;
};
Implantar las siguientes funciones y realizar un programa de prueba de las mismas.
void buildSet(int,Set&); //Reserva las localidades de memoria del conjuto.
void randomSet(Set&); //Almacena numeros aleatorios en las localidades del conjunto
bool insertElement(float,Set&); //false si no es posible insertar (overflow), true en caso contrario
bool deleteElement(float,Set&);//false si no es posible eliminar (no existe), true en caso contrario
Set& union(const Set&, const Set&); //Generar dinamicamente el conjunto union
Set& intersection(const Set&, const Set&); //Generar dinamicamente el conjunto interseccion
Set& difference(const Set&, const Set&); //Generar dinamicamente el conjunto diferencia

3. Un mini punto de venta (MPOS).


Dada la siguiente estructura de datos la cual representa un producto generico en una tienda de abarrotes (ver
codigo mPos.cpp).
struct Item{
char name[20];
int id;
int stock;
float cost;
float price;
};
Podemos definir una base de datos utilizando la siguientes estructura:
const int MAXNUMELEM = 10;
Item dB[MAXNUMELEM];
Realizar una implantacion interactiva de un punto de venta simple, en donde se considere un modo de admin-
istracion y un modo ventas, para esto se propone utilizar las siguientes funciones.
int readDB(char*,Item*);
void writeDB(char*,Item*);
void addProductDB(Item,Item*);
void removeProductDB(int, Item*);
void printDB(Item*,int);
void selling(Item*,int);