#include <iomanip>
#include <iostream>
using namespace std;
struct NOTE {
char name[ 10 ] ;
char surname[ 15 ] ;
int date_of_birthday[ 3 ] ;
double salary;
} ;
void show( const int size, int * pmatrix) ; // show matrix
void show( NOTE* pstruct) ; // show structure
int main( )
{
const int size = 3 ;
int matrix[ size] [ size] = { { 1 , 7 , 4 } ,
{ 2 , 2 , 8 } ,
{ 9 , 9 , 4 } } ;
int * pmatrix = & matrix[ 0 ] [ 0 ] ;
show( size, pmatrix) ;
NOTE structure;
structure.name = "2" ;
NOTE* pstruct = & structure;
}
void show( const int size, int * pmatrix) // show matrix
{
for ( int i = 0 ; i < size* size; i++ )
{
if ( ( i % size == 0 ) && ( i ! = 0 ) )
{
cout << '\n ' << * ( pmatrix + i) ;
}
else
{
cout << * ( pmatrix + i) ;
}
}
}
void show( NOTE* pstruct) // show structure
{
cout << setw( 10 ) << "Name: " << setw( 15 ) << pstruct- > name << " | " << "\t " ;
cout << setw( 10 ) << "Surname: " << setw( 15 ) << pstruct- > surname << " | " << "\t " ;
cout << setw( 10 ) << "Date of birthday: " ;
for ( int j = 0 ; j < 3 ; j++ ) {
cout << setw( 4 ) << pstruct- > date_of_birthday[ j] << " " ;;
if ( j == 2 ) cout << " | " ;
} ;
cout << setw( 10 ) << "Salary: " << pstruct- > salary << endl;
}
CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IE5PVEUgewogICAgY2hhciBuYW1lWzEwXTsKICAgIGNoYXIgc3VybmFtZVsxNV07CiAgICBpbnQgZGF0ZV9vZl9iaXJ0aGRheVszXTsKICAgIGRvdWJsZSBzYWxhcnk7Cn07Cgp2b2lkIHNob3coY29uc3QgaW50IHNpemUsIGludCogcG1hdHJpeCk7IC8vIHNob3cgbWF0cml4Cgp2b2lkIHNob3coTk9URSogcHN0cnVjdCk7IC8vIHNob3cgc3RydWN0dXJlCgoKaW50IG1haW4oKQp7CiAgICBjb25zdCBpbnQgc2l6ZSA9IDM7CiAgICBpbnQgbWF0cml4W3NpemVdW3NpemVdID0geyB7MSwgNywgNH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MiwgMiwgOH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7OSwgOSwgNH0gfTsKCiAgICBpbnQqIHBtYXRyaXggPSAmbWF0cml4WzBdWzBdOwoKICAgIHNob3coc2l6ZSwgcG1hdHJpeCk7CgogICAgTk9URSBzdHJ1Y3R1cmU7CiAgICBzdHJ1Y3R1cmUubmFtZSA9ICIyIjsKCiAgICBOT1RFKiBwc3RydWN0ID0gJnN0cnVjdHVyZTsKfQoKdm9pZCBzaG93KGNvbnN0IGludCBzaXplLCBpbnQqIHBtYXRyaXgpIC8vIHNob3cgbWF0cml4CnsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZSpzaXplOyBpKyspCiAgICB7CiAgICAgICAgaWYgKChpICUgc2l6ZSA9PSAwKSAmJiAoaSAhPSAwKSkgCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8ICdcbicgPDwgKihwbWF0cml4ICsgaSk7CiAgICAgICAgfQoKICAgICAgICBlbHNlIAogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCAqKHBtYXRyaXggKyBpKTsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgc2hvdyhOT1RFKiBwc3RydWN0KSAvLyBzaG93IHN0cnVjdHVyZSAKewogICAgY291dCA8PCBzZXR3KDEwKSA8PCAiTmFtZTogIiA8PCBzZXR3KDE1KSA8PCBwc3RydWN0LT5uYW1lIDw8ICIgIHwgICIgPDwgIlx0IjsKICAgIGNvdXQgPDwgc2V0dygxMCkgPDwgIlN1cm5hbWU6ICIgPDwgc2V0dygxNSkgPDwgcHN0cnVjdC0+c3VybmFtZSA8PCAiICB8ICAiIDw8ICJcdCI7CiAgICBjb3V0IDw8IHNldHcoMTApIDw8ICJEYXRlIG9mIGJpcnRoZGF5OiAiOwogICAgZm9yIChpbnQgaiA9IDA7IGogPCAzOyBqKyspIHsKICAgICAgICBjb3V0IDw8IHNldHcoNCkgPDwgcHN0cnVjdC0+ZGF0ZV9vZl9iaXJ0aGRheVtqXSA8PCAiICAiOzsKICAgICAgICBpZiAoaiA9PSAyKSBjb3V0IDw8ICIgIHwgICI7CiAgICB9OwogICAgY291dCA8PCBzZXR3KDEwKSA8PCAiU2FsYXJ5OiAiIDw8IHBzdHJ1Y3QtPnNhbGFyeSA8PCBlbmRsOwoKfQ==