Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- int _tmain( int, _TCHAR*[] )
- {
- int n = 0;
- cout << "n? ";
- cin >> n;
- int k = n+(n*n-n)/2;
- int *m = (int*)new int[k];
- memset( m, 0, k*4 );
- for( int i = 0; i < n; ++i ) for( int j = 1; j <= n; ++j ) for( k = 0; ( k & 0x80000000 ? -k : k ) < j; k -= (j/2*2==j)*2-1 )
- {
- int *p(&k[m]+(j*j-j)/2+(j/2*2==j)*(j-1));
- if( !*p ){ *p = -1*(i+1)*((k!=(j/2*2==j)*(-j+1))*2-1); break; }
- }
- for( int i = 1; i <= n; ++i ) for( int j = 0; j < i; ++j )
- {
- cout << *(m+(i*i-i)/2+j);
- if( j + 1 == i ) cout << endl;
- }
- delete [] (int*)m;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement