Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int fil=4, col=3;
- int sumaZona(const int [][col], const int);
- int sumaProd(const int [][col], const int);
- int mayorProdZona(const int [], int*);
- int menorProdXProd(const int [], int*);
- void imprimirTabla(const string [], const string [], const int [][col], const int [], int []);
- int main()
- {
- const int vals=12;
- string zonas[col]={"Zona 1", "Zona 2", "Zona 3"};
- string productos[fil]={"Producto 1", "Producto 2", "Producto 3", "Producto 4"};
- const int valores[vals]={30, 25, 27, 18, 29, 31, 38, 35, 22, 32, 42, 14};
- int matriz[fil][col];
- int totalProduc[fil];
- int totalZona[col];
- //Rellenar matriz
- for(int i=0, val=0; i<fil; i++)
- for(int j=0; j<col; j++){
- matriz[i][j]=valores[val];
- val++;
- }
- //Llenando totales de zona
- for(int i=0, zona=1; i<col; i++, zona++){
- totalZona [i]=sumaZona(matriz, zona);
- }
- //Llenando totales de producto
- for(int i=0, prod=1; i<fil; i++, prod++){
- totalProduc [i]=sumaProd(matriz, prod);
- }
- imprimirTabla(zonas, productos, matriz, totalProduc, totalZona);
- cout<<"\n\n\n";
- /*Esta seccion esta separada porque tiene variables locales con el fin de solo imprimir los valores de las ventas ppr zona*/
- {
- int laZonaEs;
- int zonaMayor=mayorProdZona(totalZona, &laZonaEs);
- cout<<"La zona con mayor produccion es la "<<laZonaEs<<" con una produccion de "<<zonaMayor<<" productos en total";
- }
- cout<<"\n\n";
- {
- int elProdEs;
- int prodMenor=menorProdXProd(totalProduc, &elProdEs);
- cout<<"El producto con menor produccion es el "<<elProdEs<<" con una produccion de "<<prodMenor<<" productos en total";
- }
- return 0;
- }
- //FUNCIONES
- int sumaZona(const int dmatriz[][col], const int zona){
- int suma=0;
- const int columna=zona-1;
- for(int i=0; i<fil; i++){
- suma=suma+dmatriz[i][columna];
- }
- return suma;
- }
- int sumaProd(const int dmatriz[][col], const int prod){
- int suma=0;
- const int fila=prod-1;
- for(int j=0; j<col; j++){
- suma=suma+dmatriz[fila][j];
- }
- return suma;
- }
- void imprimirTabla(const string zonas [], const string productos [], const int matriz [][col], const int totalProduc [], int totalZona []){
- char esp=178;
- for(int i=0; i<12; i++)
- cout<<esp;
- cout<<" ";
- for(int i=0; i<col; i++){
- cout<<zonas[i]<<" ";
- }
- cout<<endl;
- for(int i=0; i<fil; i++){
- cout<<productos[i]<<" "<<esp<<" ";
- for(int j=0; j<col; j++){
- cout<<" "<<matriz[i][j]<<" ";
- }
- cout<<esp<<" "<<totalProduc[i];
- cout<<endl;
- }
- for(int i=0; i<35; i++)
- cout<<esp;
- cout<<endl;
- for(int i=0; i<13; i++)
- cout<<" ";
- for(int i=0; i<col; i++)
- cout<<" "<<totalZona[i]<<" ";
- }
- int mayorProdZona(const int totalZona [], int *laZonaEs){
- int mayor=0;
- for(int i=0; i<col; i++){
- int temp=totalZona[i];
- if(temp>mayor){
- mayor=temp;
- *laZonaEs=i+1;
- }
- }
- return mayor;
- }
- int menorProdXProd(const int totalProduc [], int *elProdEs){
- int menor=totalProduc[0];
- for(int i=0; i<fil; i++){
- int temp=totalProduc[i];
- if(temp<menor){
- menor=temp;
- *elProdEs=i+1;
- }
- }
- return menor;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement