[ create a new paste ] login | about

Link: http://codepad.org/pO8U1fZZ    [ raw code | output | fork ]

C++, pasted on Aug 18:
#include <iostream>
using namespace std;

void shift(size_t * arr, size_t n){
    size_t buf = arr[0];
    memcpy(arr, arr + 1, (n - 1)*sizeof(size_t));
    arr[n - 1] = buf;
}

void show (size_t *arr, size_t n){
    for( size_t i = 0; i < n; i++ )
        cout<<arr[i]<<" ";
    cout<<endl;
}

int main(){
    size_t i, j, k;
    size_t arr[] = {0, 1, 2, 3, 4, 5};
    size_t n     = sizeof(arr) / sizeof(arr[0]);
    for( i = 0; i < n; i++ )
    {
        shift(arr + i, n - i);
        for( j = 0; j < n; j++ )
        {
            shift(arr, n);
            show (arr, n);
        }
    }
    return 0;
}


Output:
2 3 4 5 0 1 
3 4 5 0 1 2 
4 5 0 1 2 3 
5 0 1 2 3 4 
0 1 2 3 4 5 
1 2 3 4 5 0 
3 4 5 0 2 1 
4 5 0 2 1 3 
5 0 2 1 3 4 
0 2 1 3 4 5 
2 1 3 4 5 0 
1 3 4 5 0 2 
3 5 0 2 4 1 
5 0 2 4 1 3 
0 2 4 1 3 5 
2 4 1 3 5 0 
4 1 3 5 0 2 
1 3 5 0 2 4 
3 5 2 4 0 1 
5 2 4 0 1 3 
2 4 0 1 3 5 
4 0 1 3 5 2 
0 1 3 5 2 4 
1 3 5 2 4 0 
3 5 2 0 4 1 
5 2 0 4 1 3 
2 0 4 1 3 5 
0 4 1 3 5 2 
4 1 3 5 2 0 
1 3 5 2 0 4 
3 5 2 0 4 1 
5 2 0 4 1 3 
2 0 4 1 3 5 
0 4 1 3 5 2 
4 1 3 5 2 0 
1 3 5 2 0 4 


Create a new paste based on this one


Comments: