
Sumar columnas en un arreglo de 5 dimensiones
Publicado por Jessica (1 intervención) el 26/11/2013 03:39:54
Queridos amigos soy nueva en el foro , no se si este pidiendo ayuda correctamente mi problema es el siguiente tengo un arreglo de 5 dimensiones que fue llenado con una funcion randomica , necesito sumar las columnas pero no encuentro la forma , el programa es un cuadro estadistico que se visualiza en archivo de texto este es el codigo
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <stdio.h>
using std :: cout;
using std:: endl;
using std:: cerr;
using std:: ofstream;
using std:: setw;
using std:: setprecision;
using std:: ios;
using std:: left;
using std:: right;
using std:: setprecision;
//Creacion del archivo de Salida
int main()
{
char provincias[25][15] = {"Azuay", "Boliv ","Cañar" ,"Carchi" ,"Chimbor" ,"Cotopax" ,"El Oro" ,"Esmeral" ,"Galápag", "Guayas" ,
"Imbabur" ,"Loja" ,"LosRios" ,"Manabí" ,"Morona","Napo","Orellan" ,"Pastaza" , "Pichin" ,"SantaE" ,"SantoD", "Sucumbí" ,"Tungura",
"Zamora","Total"};
int m[25][2][3][2][2] = {0};
int i, j ,k ,l,n;
int vertical[24]={0},vertical2[24]={0},verticalt[24]={0},horizontal2[24]={0},suma=0;
int horizontal[24]={0};
double m1[25][2][3][2][2]={0};
/*Creacion del archivo de Salida */
ofstream ArchivoResultados ("cuadroresultados2.dat",ios::out);
if (!ArchivoResultados)
{
cerr<<"No se puede Abrir el archivo cuadroresultados"<<endl;
exit(1);
}
/*LLenado de matriz multidimensional*/
for( i =0 ; i<24;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
m[i][j][k][l][n]= (rand()%9)+1;
}
}
}
}
}
/*Suma de las filas de EPN */
for( i =0 ; i<24;i++)
{
for(j=0;j<1;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
vertical[i]=vertical[i]+m[i][j][k][l][n];
}
}
}
}
}
// Suma Filas de las u central
for( i =0 ; i<24;i++)
{
for(j=1;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
vertical2[i]=vertical2[i]+m[i][j][k][l][n];
}
}
}
}
}
// Suma Total de las filas universidades
for( i =0 ; i<24;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
verticalt[i]=verticalt[i]+m[i][j][k][l][n];
}
}
}
}
}
// Suma De columnas de la matriz
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
suma=0;
for( i=0 ; i<24;i++)
{
horizontal[i]=horizontal[i]+m[i][j][k][l][n];
}
}
}
}
}
// Porcentaje de los mienbros de la fila universidades
for( i =0 ; i<24;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
m1[i][j][k][l][n]=(m[i][j][k][l][n]*100.0)/vertical[i];
}
}
}
}
}
// visualizacion de la matriz
ArchivoResultados<<"\t\t\t\t\t\t\t\t\t ESCUELA POLITECNICA NACIONAL "<<endl;
ArchivoResultados<<"\t\t\t\t\t\t\t\t\t\t ESFOT "<<endl;
ArchivoResultados<<"\t\t\t\t\t\t\t\t\t CUADRO ESTADISTICO "<<endl;
ArchivoResultados<<"\t\t\t\t\ E.P.N. "<<"\t\t\t\t\t\t\t\t\t\t\t\t\t U.C.E. "<<endl;
ArchivoResultados<<"\t\t"<<setw(10)<<"SIST."<<setw(29)<< "CIVIL."<<setw(29)<<" MECAN."<<setw(32)<<"SIST."<<setw(30)<< "CIVIL."<<setw(30)<<" MECAN."<<endl;
ArchivoResultados<<endl;
ArchivoResultados<<"\t"<<setw(5)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M";
ArchivoResultados<<setw(9)<<"H"<<setw(5)<<"M";
ArchivoResultados<<" "<<setw(11)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M";
ArchivoResultados<<setw(8)<<"H"<<setw(6)<<"M"<<endl;
ArchivoResultados<<endl;
for( i =0 ; i<24;i++)
{
ArchivoResultados<<provincias[i]<<"\t";
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
ArchivoResultados<<right<<setw(5)<<m[i][j][k][l][n]<<" ";
}
ArchivoResultados<<" ";
}
ArchivoResultados<<" ";
}
ArchivoResultados<<vertical[i]<<" ";
}
ArchivoResultados<<" " " " <<vertical2[i];
ArchivoResultados<<" "<<verticalt[i];
ArchivoResultados<<endl<<endl<<endl;
// Impresion de la matriz
ArchivoResultados<<"\t";
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for(n=0;n<2;n++)
{
ArchivoResultados<<" "<<setprecision(3)<<m1[i][j][k][l][n]<<" ";
}
ArchivoResultados<<" ";
}
ArchivoResultados<<" ";
}
}
ArchivoResultados<<endl<<endl<<endl<<endl;
}
// Impresion suma columnas
ArchivoResultados<<"TOTAL"<<" ";
for(i=0;i<24;i++)
{
ArchivoResultados<<horizontal[i]<<" ";
}
system("pause");
return 0;
}
Gracias anticipadas !!
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <stdio.h>
using std :: cout;
using std:: endl;
using std:: cerr;
using std:: ofstream;
using std:: setw;
using std:: setprecision;
using std:: ios;
using std:: left;
using std:: right;
using std:: setprecision;
//Creacion del archivo de Salida
int main()
{
char provincias[25][15] = {"Azuay", "Boliv ","Cañar" ,"Carchi" ,"Chimbor" ,"Cotopax" ,"El Oro" ,"Esmeral" ,"Galápag", "Guayas" ,
"Imbabur" ,"Loja" ,"LosRios" ,"Manabí" ,"Morona","Napo","Orellan" ,"Pastaza" , "Pichin" ,"SantaE" ,"SantoD", "Sucumbí" ,"Tungura",
"Zamora","Total"};
int m[25][2][3][2][2] = {0};
int i, j ,k ,l,n;
int vertical[24]={0},vertical2[24]={0},verticalt[24]={0},horizontal2[24]={0},suma=0;
int horizontal[24]={0};
double m1[25][2][3][2][2]={0};
/*Creacion del archivo de Salida */
ofstream ArchivoResultados ("cuadroresultados2.dat",ios::out);
if (!ArchivoResultados)
{
cerr<<"No se puede Abrir el archivo cuadroresultados"<<endl;
exit(1);
}
/*LLenado de matriz multidimensional*/
for( i =0 ; i<24;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
m[i][j][k][l][n]= (rand()%9)+1;
}
}
}
}
}
/*Suma de las filas de EPN */
for( i =0 ; i<24;i++)
{
for(j=0;j<1;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
vertical[i]=vertical[i]+m[i][j][k][l][n];
}
}
}
}
}
// Suma Filas de las u central
for( i =0 ; i<24;i++)
{
for(j=1;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
vertical2[i]=vertical2[i]+m[i][j][k][l][n];
}
}
}
}
}
// Suma Total de las filas universidades
for( i =0 ; i<24;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
verticalt[i]=verticalt[i]+m[i][j][k][l][n];
}
}
}
}
}
// Suma De columnas de la matriz
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
suma=0;
for( i=0 ; i<24;i++)
{
horizontal[i]=horizontal[i]+m[i][j][k][l][n];
}
}
}
}
}
// Porcentaje de los mienbros de la fila universidades
for( i =0 ; i<24;i++)
{
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
m1[i][j][k][l][n]=(m[i][j][k][l][n]*100.0)/vertical[i];
}
}
}
}
}
// visualizacion de la matriz
ArchivoResultados<<"\t\t\t\t\t\t\t\t\t ESCUELA POLITECNICA NACIONAL "<<endl;
ArchivoResultados<<"\t\t\t\t\t\t\t\t\t\t ESFOT "<<endl;
ArchivoResultados<<"\t\t\t\t\t\t\t\t\t CUADRO ESTADISTICO "<<endl;
ArchivoResultados<<"\t\t\t\t\ E.P.N. "<<"\t\t\t\t\t\t\t\t\t\t\t\t\t U.C.E. "<<endl;
ArchivoResultados<<"\t\t"<<setw(10)<<"SIST."<<setw(29)<< "CIVIL."<<setw(29)<<" MECAN."<<setw(32)<<"SIST."<<setw(30)<< "CIVIL."<<setw(30)<<" MECAN."<<endl;
ArchivoResultados<<endl;
ArchivoResultados<<"\t"<<setw(5)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M";
ArchivoResultados<<setw(9)<<"H"<<setw(5)<<"M";
ArchivoResultados<<" "<<setw(11)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(8)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M"<<setw(9)<<"H"<<setw(6)<<"M";
ArchivoResultados<<setw(8)<<"H"<<setw(6)<<"M"<<endl;
ArchivoResultados<<endl;
for( i =0 ; i<24;i++)
{
ArchivoResultados<<provincias[i]<<"\t";
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for (n=0;n<2;n++)
{
ArchivoResultados<<right<<setw(5)<<m[i][j][k][l][n]<<" ";
}
ArchivoResultados<<" ";
}
ArchivoResultados<<" ";
}
ArchivoResultados<<vertical[i]<<" ";
}
ArchivoResultados<<" " " " <<vertical2[i];
ArchivoResultados<<" "<<verticalt[i];
ArchivoResultados<<endl<<endl<<endl;
// Impresion de la matriz
ArchivoResultados<<"\t";
for(j=0;j<2;j++)
{
for(k=0;k<3;k++)
{
for(l=0;l<2;l++)
{
for(n=0;n<2;n++)
{
ArchivoResultados<<" "<<setprecision(3)<<m1[i][j][k][l][n]<<" ";
}
ArchivoResultados<<" ";
}
ArchivoResultados<<" ";
}
}
ArchivoResultados<<endl<<endl<<endl<<endl;
}
// Impresion suma columnas
ArchivoResultados<<"TOTAL"<<" ";
for(i=0;i<24;i++)
{
ArchivoResultados<<horizontal[i]<<" ";
}
system("pause");
return 0;
}
Gracias anticipadas !!
Valora esta pregunta


0