Ejercicio 1
Código
#include <iostream>
#include <conio.h>
using namespace std;
string check(int num[5][4])
{int x,y;
for(x=0;x<5;x++)
{for(y=0;y<4;y++)
if(num[x][y]!=0)
return "no es Nula.*";}
return "es Nula.*";}
int main()
{int i, j, mat[5][4];
do{system("CLS");
cout<<"\tIngrese los valores de la matriz por fila:"<<endl;
for(i=0;i<5;i++)
{cout<<"Fila "<<i+1<<":"<<endl;
for(j=0;j<4;j++)
cin>>mat[i][j];}
cout<<"-----------------------------";
for(i=0;i<5;i++)
{cout<<endl;for(j=0;j<4;j++)cout<<mat[i][j]<<"\t";}
cout<<"*La Matriz "<<check(mat)<<endl;
cout<<"-----------------------------"<<endl;
do{cout<<"Desea Salir del Programa?\t1)Si\t2)no"<<endl;
cin>>i;}while(i!=1 && i!=2);}while(i==2);
return 0;}
Solución
Ejercicio 2
Código
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define TIPO int
#define MOD i
#define _STRING(x) #x
#define STRING(x) _STRING(x)
#define AT __FILE__ ":" STRING(__LINE__)
#define TOSTRING(x) "x"
int r = 0, c = 0;
TIPO *leer_matriz(void) {
TIPO *arr = malloc(sizeof(TIPO)*r*c);
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
printf("(%i, %i): ", i, j);
scanf("%"STRING(MOD), (arr + i*c +j));
}
}
printf("\n");
return arr;
}
void desplegar_matriz(char *nombre, TIPO *arr) {
printf("Desplegando la matriz: %s\n", nombre);
printf("-------------------------\n");
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++)
printf("%3"STRING(MOD)" ", *(arr + i*c + j));
printf("\n\n");
}}
typedef enum {
false = 0,
true = 1
} bool;
bool mayor_que(TIPO *a, TIPO *b) {
bool mayor = false;
for (int i = 0; i < r; i++)
for (int j = 0; j < c; j++)
if ( *(a + i*c + j) < *(b + i*c + j) )
return false;
else if ( *(a + i*c + j) > *(b + i*c + j) )
mayor = true;
return mayor? true: false;
}
int main(void) {
printf("Cuantas columnas?: ");
scanf("%i", &c);
printf("Cuantas filas?: ");
scanf("%i", &r);
printf("Dar los datos de la matriz A\n");
TIPO *a = leer_matriz();
printf("Dar los datos de la matriz B\n");
TIPO *b = leer_matriz();
desplegar_matriz("A", a);
desplegar_matriz("B", b);
printf("%s%s%s",
"la matriz A ",
(mayor_que(a,b)? "": "no "),
"es mayor a la matriz B\n\n");
return 0;
}
Solución
Ejercicio 3
Código
#include <iostream.h>
#include <conio.h>
void write(int num[5][6], int mul)
{
int x,y;
cout<<"------------------------------------------------";
for(x=0;x<5;x++)
{
cout<<endl;
for(y=0;y<6;y++)
cout<<(mul)*(num[x][y])<<"\t";
}
cout<<"\n----------------------------------------------"<<endl;
}
int main()
{
int i, j, m, mat[5][6];
do
{
cout<<"\tIngrese los valores de la matriz por fila:"<<endl;
for(i=0;i<5;i++)
{
cout<<"Fila "<<i+1<<":"<<endl;
for(j=0;j<6;j++)
cin>>mat[i][j];
}
cout<<"Por que numero desea multiplicar la matriz?: ";
cin>>m;
cout<<"\tLa matriz original:"<<endl;
write(mat,1);
cout<<"\tLa matriz multiplicada por "<<m<<" es:"<<endl;
write(mat,m);
do
{
cout<<"Desea Salir del Programa?\t1)Si\t2)no"<<endl;
cin>>i;
}while(i!=1 && i!=2);
}while(i==2);
return 0;
}
Solución
Ejercicio 4
Código
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{int j, i, MP=0, e, DP, dp, prod[6][5];
string nomb[6], mp;
do{system("CLS");
//lee
cout<<"--------------REPORTE SEMANAL DE PRODUCCION--------------'\n\t**Nombres de planta: 15 caracteres max.**"<<endl;
for(j=0;j<6;j++)
{cout<<"Ingrese el nombre de la planta #"<<j+1<<":"<<endl;
cin>>nomb[j];
for(i=0;i<5;i++)
{cout<<"Produccion en el Dia "<<i+1<<": ";
cin>>prod[j][i];}
system("CLS");}
//desplega
cout<<"----------------------------------------------------------------"<<endl;
cout<<"|Planta|\tDia 1\tDia 2\tDia 3\tDia 4\tDia 5\tProd. Sem."<<endl;
for(j=0;j<6;j++)
{int r=0;DP=0;
cout<<nomb[j]<<"\t";
for(i=0;i<5;i++)
{cout<<"\t"<<prod[j][i];
r=r+prod[j][i];}
if(r>MP)
{MP=r;mp=nomb[j];e=j;}
cout<<"\t"<<r<<endl;}
for(i=0;i<5;i++)
{if(prod[e][i]>DP)
{DP=prod[e][i];dp=i;}}
cout<<"----------------------------------------------------------------"<<endl;
cout<<"\tTotales:\nPlanta mas productiva fue '"<<mp<<"' con "<<MP<<" Unidades."<<endl;
cout<<"El Dia "<<dp+1<<" la planta tuvo mayor produccion con "<<DP<<" Unidades. \n"<<endl;
do{cout<<"Desea Salir del Programa?\t1)Si\t2)no"<<endl;
cin>>i;}while(i!=1 && i!=2);}while(i==2);
return 0;}
Solución
Código
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{int j, i, MP=0, e, DP, dp, prod[6][5];
string nomb[6], mp;
do{system("CLS");
//lee
cout<<"--------------REPORTE SEMANAL DE PRODUCCION--------------'\n\t**Nombres de planta: 15 caracteres max.**"<<endl;
for(j=0;j<6;j++)
{cout<<"Ingrese el nombre de la planta #"<<j+1<<":"<<endl;
cin>>nomb[j];
for(i=0;i<5;i++)
{cout<<"Produccion en el Dia "<<i+1<<": ";
cin>>prod[j][i];}
system("CLS");}
//desplega
cout<<"----------------------------------------------------------------"<<endl;
cout<<"|Planta|\tDia 1\tDia 2\tDia 3\tDia 4\tDia 5\tProd. Sem."<<endl;
for(j=0;j<6;j++)
{int r=0;DP=0;
cout<<nomb[j]<<"\t";
for(i=0;i<5;i++)
{cout<<"\t"<<prod[j][i];
r=r+prod[j][i];}
if(r>MP)
{MP=r;mp=nomb[j];e=j;}
cout<<"\t"<<r<<endl;}
for(i=0;i<5;i++)
{if(prod[e][i]>DP)
{DP=prod[e][i];dp=i;}}
cout<<"----------------------------------------------------------------"<<endl;
cout<<"\tTotales:\nPlanta mas productiva fue '"<<mp<<"' con "<<MP<<" Unidades."<<endl;
cout<<"El Dia "<<dp+1<<" la planta tuvo mayor produccion con "<<DP<<" Unidades. \n"<<endl;
do{cout<<"Desea Salir del Programa?\t1)Si\t2)no"<<endl;
cin>>i;}while(i!=1 && i!=2);}while(i==2);
return 0;}
Solución
Ejercicio 5a
Código
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void limpiarmatriz(T a[10] [10]);
template <class T>
void desplegarDatos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10])
{int r,c;
srand(time(NULL));
for (r=0; r<10; r++)
{for (c=0; c<10;c++)
{a[r][c]=rand()%2;}}}
template <class T>
void desplegarDatos(T a[10] [10])
{int r,c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{if (r==c){cout<< (a[r][c]=1);}else{cout<<(a[r][c]=0);}}
cout<<endl;}}
template <class T>
void limpiarmatriz(T a[10] [10])
{int r, c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{a[r][c]=0;}}}
void main()
{
int a[10] [10];
limpiarmatriz(a);
generarelementos(a);
desplegarDatos(a);
getch();}
Solución
Ejercicio 5b
Código
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void limpiarmatriz(T a[10] [10]);
template <class T>
void desplegarDatos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10])
{int r,c;
srand(time(NULL));
for (r=0; r<10; r++)
{for (c=0; c<10;c++)
{a[r][c]=rand()%2;}}}
template <class T>
void desplegarDatos(T a[10] [10])
{int r,c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{if (r==c || r>c){cout<< (a[r][c]=1);}
else {cout<<(a[r][c]=0);}}
cout<<endl;}}
template <class T>
void limpiarmatriz(T a[10] [10])
{int r, c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{a[r][c]=0;}}}
void main()
{
int a[10] [10];
limpiarmatriz(a);
generarelementos(a);
desplegarDatos(a);
getch();}
Solución
Ejercicio 5c
Código
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void limpiarmatriz(T a[10] [10]);
template <class T>
void desplegarDatos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10])
{int r,c;
srand(time(NULL));
for (r=0; r<10; r++)
{for (c=0; c<10;c++)
{a[r][c]=rand()%2;}}}
template <class T>
void desplegarDatos(T a[10] [10])
{int r,c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{if (r==c || r<c){cout<< (a[r][c]=1);}
else {cout<<(a[r][c]=0);}}
cout<<endl;}}
template <class T>
void limpiarmatriz(T a[10] [10])
{int r, c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{a[r][c]=0;}}}
void main()
{
int a[10] [10];
limpiarmatriz(a);
generarelementos(a);
desplegarDatos(a);
getch();}
Solución
Código
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void limpiarmatriz(T a[10] [10]);
template <class T>
void desplegarDatos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10]);
template <class T>
void generarelementos(T a[10] [10])
{int r,c;
srand(time(NULL));
for (r=0; r<10; r++)
{for (c=0; c<10;c++)
{a[r][c]=rand()%2;}}}
template <class T>
void desplegarDatos(T a[10] [10])
{int r,c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{if (r==c || r<c){cout<< (a[r][c]=1);}
else {cout<<(a[r][c]=0);}}
cout<<endl;}}
template <class T>
void limpiarmatriz(T a[10] [10])
{int r, c;
for (r=0;r<10;r++)
{for (c=0; c<10;c++)
{a[r][c]=0;}}}
void main()
{
int a[10] [10];
limpiarmatriz(a);
generarelementos(a);
desplegarDatos(a);
getch();}
Solución






