#include <iostream>
#include <time.h>
using namespace std;
void nakljucnoNapolni(int tabela[][50][50], int visina, int dolzina, int sirina)
{
srand(time(NULL));
for(int i=0;i<visina;i++)
for(int j=0;j<dolzina;j++)
for(int k=0;k<sirina;k++)
tabela[i][j][k]=(rand()%9)+1;
}
void zamenjaj(int&a, int&b)
{
int vmesnik = a;
a = b;
b = vmesnik;
}void Zamenjaj_polje(int polje[][50][50], int dolzina, int sirina, int m, int n)
{
for(int d=0;d<dolzina;d++)
for(int s=0;s<sirina;s++)
zamenjaj(polje[m] [d] [s], polje[m+1] [d] [s]);
}
void izpisi(int polje[][50][50], int visina, int dolzina, int sirina, int vsota_ploskve[])
{
cout<<"Izpis po ploskvah:"<<endl;
for(int v=0;v<visina;v++)
{
cout<<endl<<"Ploskva stevilka "<<v << " ";
cout << "Vsota ploskve je: " << vsota_ploskve[v]<<endl;
for(int d=0;d<dolzina;d++)
{
for(int s=0;s<sirina;s++)
cout<<polje[v][d][s] << " ";
cout<<endl;
}
cout << endl << endl;
}
}
void sortiraj(int polje[][50][50], int visina, int dolzina, int sirina)
{ int tabelaVsot[50];
for(int v=0;v<visina;v++)
{
int vsota=0;
for(int d=0;d<dolzina;d++)
for(int s=0;s<sirina;s++)
vsota=vsota+polje[v][d][s];
tabelaVsot[v]=vsota;
} cout<<"Izpis po ploskvah pred sortiranjem polja:"<<endl;
izpisi(polje, visina, dolzina, sirina, tabelaVsot);
cout << endl; for (int prehod=1;prehod<visina;prehod++)
for(int m=0;m<visina-1;m++)
if(tabelaVsot[m]>tabelaVsot[m+1])
{
zamenjaj(tabelaVsot[m],tabelaVsot[m+1]);
Zamenjaj_polje(polje, dolzina, sirina, m, m+1);
}
cout<<"------------------------------"; cout<<"Izpis po ploskvah po sortiranju polja:"<<endl;
izpisi(polje, visina, dolzina, sirina, tabelaVsot);
cout << endl;
}
void main()
{
int p[50][50][50];
int visina, dolzina, sirina;
cout<<"Vpisi visino, dolzino, sirino(za vsako pritisni enter): "<<endl;
cin>>visina>>dolzina>>sirina;
nakljucnoNapolni(p, visina, dolzina, sirina);
cout<<endl<<"__________________________________________________"<<endl;
cout<<endl<<"1.) Pred urejanjem:"<<endl;
sortiraj(p, visina, dolzina, sirina);
system("pause");
}