#include <iostream>
#include <iomanip>
const size_t N1 = 2, N2 = 3, N3 = 4;
void f( int ( &a )[N1][N2][N3] )
{
int value = 0;
for ( auto &a2 : a )
{
for ( auto &a3 : a2 )
{
for ( auto &item : a3 ) item = value++;
}
}
}
int main()
{
int a[N1][N2][N3];
f( a );
int width = 1;
std::cout << std::setw( width ) << "{\n";
width += 4;
for ( const auto &a2 : a )
{
std::cout << std::setw( width ) << "{\n";
width += 3;
for ( const auto &a3 : a2 )
{
std::cout << std::setw( width ) << "{ ";
for ( const auto &item : a3 )
{
std::cout << std::setw( 2 ) << item << ' ';
}
std::cout << "}\n";
}
width -= 3;
std::cout << std::setw( width ) << "}\n";
}
width -= 4;
std::cout << std::setw( width ) << "}\n";
}
Вывод программы на косноль
{
{
{ 0 1 2 3 }
{ 4 5 6 7 }
{ 8 9 10 11 }
}
{
{ 12 13 14 15 }
{ 16 17 18 19 }
{ 20 21 22 23 }
}
}
#include <iostream>
#include <iomanip>
const size_t N2 = 3, N3 = 4;
void f( int a[][N2][N3], size_t n1 )
{
int value = 0;
for ( size_t i = 0; i < n1; i++ )
{
for ( auto &a3 : a )
{
for ( auto &item : a3 ) item = value++;
}
}
}
int main()
{
size_t n1 = 2;
int ( * a )[N2][N3] = new int[n1][N2][N3];
f( a, n1 );
int width = 1;
std::cout << std::setw( width ) << "{\n";
width += 4;
for ( size_t i = 0; i < n1; i++ )
{
std::cout << std::setw( width ) << "{\n";
width += 3;
for ( const auto &a3 : a )
{
std::cout << std::setw( width ) << "{ ";
for ( const auto &item : a3 )
{
std::cout << std::setw( 2 ) << item << ' ';
}
std::cout << "}\n";
}
width -= 3;
std::cout << std::setw( width ) << "}\n";
}
width -= 4;
std::cout << std::setw( width ) << "}\n";
}
Вывод программы на консоль
{
{
{ 0 1 2 3 }
{ 4 5 6 7 }
{ 8 9 10 11 }
}
{
{ 12 13 14 15 }
{ 16 17 18 19 }
{ 20 21 22 23 }
}
}
#include <iostream>
#include <iomanip>
const size_t N2 = 3;
void f( int * a[][N2], size_t n1, size_t n3 )
{
int value = 0;
for ( size_t i = 0; i < n1; i++ )
{
for ( auto &a2 : a )
{
for ( size_t j = 0; j < n3; j++ ) a2[j] = value++;
}
}
}
int main()
{
size_t n1 = 2;
size_t n3 = 4;
int * ( *a )[N2] = new int *[n1][N2];
for ( size_t i = 0; i < n1; i++ )
{
for ( auto &a2 : a ) a2 = new int[n3];
}
f( a, n1, n3 );
int width = 1;
std::cout << std::setw( width ) << "{\n";
width += 4;
for ( size_t i = 0; i < n1; i++ )
{
std::cout << std::setw( width ) << "{\n";
width += 3;
for ( const auto &a2 : a )
{
std::cout << std::setw( width ) << "{ ";
for ( size_t j = 0; j < n3; j++ )
{
std::cout << std::setw( 2 ) << a2[j] << ' ';
}
std::cout << "}\n";
}
width -= 3;
std::cout << std::setw( width ) << "}\n";
}
width -= 4;
std::cout << std::setw( width ) << "}\n";
for ( size_t i = 0; i < n1; i++ )
{
for ( const auto &a2 : a ) delete [] a2;
}
delete [] a;
}
Вывод программы на консоль
{
{
{ 0 1 2 3 }
{ 4 5 6 7 }
{ 8 9 10 11 }
}
{
{ 12 13 14 15 }
{ 16 17 18 19 }
{ 20 21 22 23 }
}
}
#include <iostream>
#include <iomanip>
const size_t N3 = 4;
void f( int ( * a[] )[N3], size_t n1, size_t n2 )
{
int value = 0;
for ( size_t i = 0; i < n1; i++ )
{
for ( size_t j = 0; j < n2; j++ )
{
for ( auto &item : a[j] ) item = value++;
}
}
}
int main()
{
size_t n1 = 2;
size_t n2 = 3;
int ( **a )[N3] = new ( int ( *[n1] )[N3] );
for ( size_t i = 0; i < n1; i++ )
{
a = new int[n2][N3];
}
f( a, n1, n2 );
int width = 1;
std::cout << std::setw( width ) << "{\n";
width += 4;
for ( size_t i = 0; i < n1; i++ )
{
std::cout << std::setw( width ) << "{\n";
width += 3;
for ( size_t j = 0; j < n2; j++ )
{
std::cout << std::setw( width ) << "{ ";
for ( const auto &item : a[j] )
{
std::cout << std::setw( 2 ) << item << ' ';
}
std::cout << "}\n";
}
width -= 3;
std::cout << std::setw( width ) << "}\n";
}
width -= 4;
std::cout << std::setw( width ) << "}\n";
for ( size_t i = 0; i < n1; i++ )
{
delete [] a;
}
delete [] a;
}
Вывод программы на консоль
{
{
{ 0 1 2 3 }
{ 4 5 6 7 }
{ 8 9 10 11 }
}
{
{ 12 13 14 15 }
{ 16 17 18 19 }
{ 20 21 22 23 }
}}