#include <stdio.h>
#include <string.h>
#include <stdlib.h>
static long double array[] = {
0.304411824158121,
0.702270983146229,
0.675987113307883,
0.652289676782947,
0.975411752562938,
0.284802741036713,
0.877898595240810,
0.726726914957288,
0.084725908720116,
0.946546040643011 };
static void rev_array( void *array, size_t nelem, size_t width )
{
size_t i = 0, j;
char *data = ( char * )array;
for( i = 0, j = nelem - 1; i < j; i++, j-- ) {
memcpy( tmp
, data
+ j
* width
, width
); memcpy( data
+ j
* width
, data
+ i
* width
, width
); memcpy( data
+ i
* width
, tmp
, width
); }
}
static void print_array( long double *array, size_t size )
{
size_t i;
for( i = 0; i < size; i++ ) {
printf( "%.15Lf\n", array
[i
] ); }
}
int main()
{
print_array( array, sizeof( array ) / sizeof( array[0] ) );
rev_array( array, sizeof( array ) / sizeof( array[0] ), sizeof( array[0] ) );
print_array( array, sizeof( array ) / sizeof( array[0] ) );
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKc3RhdGljIGxvbmcgZG91YmxlIGFycmF5W10gPSB7CiAgICAwLjMwNDQxMTgyNDE1ODEyMSwKICAgIDAuNzAyMjcwOTgzMTQ2MjI5LAogICAgMC42NzU5ODcxMTMzMDc4ODMsCiAgICAwLjY1MjI4OTY3Njc4Mjk0NywKICAgIDAuOTc1NDExNzUyNTYyOTM4LAogICAgMC4yODQ4MDI3NDEwMzY3MTMsCiAgICAwLjg3Nzg5ODU5NTI0MDgxMCwKICAgIDAuNzI2NzI2OTE0OTU3Mjg4LAogICAgMC4wODQ3MjU5MDg3MjAxMTYsCiAgICAwLjk0NjU0NjA0MDY0MzAxMSB9OwoKc3RhdGljIHZvaWQgcmV2X2FycmF5KCB2b2lkICphcnJheSwgc2l6ZV90IG5lbGVtLCBzaXplX3Qgd2lkdGggKQp7CiAgICBzaXplX3QgaSA9IDAsIGo7CiAgICBjaGFyICpkYXRhID0gKCBjaGFyICogKWFycmF5OwogICAgY2hhciAqdG1wID0gbWFsbG9jKCB3aWR0aCApOwoKICAgIGZvciggaSA9IDAsIGogPSBuZWxlbSAtIDE7IGkgPCBqOyBpKyssIGotLSApIHsKICAgICAgICBtZW1jcHkoIHRtcCwgZGF0YSArIGogKiB3aWR0aCwgd2lkdGggKTsKICAgICAgICBtZW1jcHkoIGRhdGEgKyBqICogd2lkdGgsIGRhdGEgKyBpICogd2lkdGgsIHdpZHRoICk7CiAgICAgICAgbWVtY3B5KCBkYXRhICsgaSAqIHdpZHRoLCB0bXAsIHdpZHRoICk7CiAgICB9CiAgICBmcmVlKCB0bXAgKTsKfQoKc3RhdGljIHZvaWQgcHJpbnRfYXJyYXkoIGxvbmcgZG91YmxlICphcnJheSwgc2l6ZV90IHNpemUgKQp7CiAgICBzaXplX3QgaTsKICAgIGZvciggaSA9IDA7IGkgPCBzaXplOyBpKysgKSB7CiAgICAgICAgcHJpbnRmKCAiJS4xNUxmXG4iLCBhcnJheVtpXSApOwogICAgfQp9CgppbnQgbWFpbigpCnsKICAgIHByaW50X2FycmF5KCBhcnJheSwgc2l6ZW9mKCBhcnJheSApIC8gc2l6ZW9mKCBhcnJheVswXSApICk7CiAgICByZXZfYXJyYXkoIGFycmF5LCBzaXplb2YoIGFycmF5ICkgLyBzaXplb2YoIGFycmF5WzBdICksIHNpemVvZiggYXJyYXlbMF0gKSApOwogICAgcHJpbnRmKCAiLS0tXG4iICk7CiAgICBwcmludF9hcnJheSggYXJyYXksIHNpemVvZiggYXJyYXkgKSAvIHNpemVvZiggYXJyYXlbMF0gKSApOwogICAgcmV0dXJuIDA7Cn0K