asolntsev

Untitled

Apr 5th, 2011
9,057
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     #include "stdafx.h"
  2.      
  3.     #include <iostream>
  4.      
  5.     using namespace std;
  6.      
  7.     int _tmain( int, _TCHAR*[] )
  8.     {
  9.         int n = 0;
  10.      
  11.         cout << "n? ";
  12.         cin >> n;
  13.      
  14.         int k = n+(n*n-n)/2;
  15.      
  16.         int *m = (int*)new int[k];
  17.      
  18.         memset( m, 0, k*4 );
  19.      
  20.         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 )
  21.         {
  22.             int *p(&k[m]+(j*j-j)/2+(j/2*2==j)*(j-1));
  23.      
  24.             if( !*p ){ *p = -1*(i+1)*((k!=(j/2*2==j)*(-j+1))*2-1); break; }
  25.         }
  26.      
  27.         for( int i = 1; i <= n; ++i ) for( int j = 0; j < i; ++j )
  28.         {
  29.             cout << *(m+(i*i-i)/2+j);
  30.      
  31.             if( j + 1 == i ) cout << endl;
  32.         }
  33.      
  34.         delete [] (int*)m;
  35.      
  36.         return 0;
  37.     }
RAW Paste Data