fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. long double array[] =
  6. {
  7. 0.304411824158121,
  8. 0.702270983146229,
  9. 0.675987113307883,
  10. 0.652289676782947,
  11. 0.975411752562938,
  12. 0.284802741036713,
  13. 0.877898595240810,
  14. 0.726726914957288,
  15. 0.084725908720116,
  16. 0.946546040643011
  17. };
  18.  
  19.  
  20. void revarray(long double * arr, int size)
  21. {
  22. for(int i = 0, j = size-1; i < j; ++i, --j)
  23. {
  24. long double tmp = arr[i];
  25. arr[i] = arr[j];
  26. arr[j] = tmp;
  27. }
  28. }
  29.  
  30.  
  31. void rev_array(void * arr, int count, int size)
  32. {
  33. unsigned char * x = (unsigned char *)arr;
  34. for(int i = 0, j = count-1; i < j; ++i, --j)
  35. {
  36. unsigned char * from = x + i*size;
  37. unsigned char * to = x + j*size;
  38. for(int k = 0; k < size; ++k)
  39. {
  40. unsigned char tmp = from[k];
  41. from[k] = to[k];
  42. to[k] = tmp;
  43. }
  44. }
  45. }
  46.  
  47.  
  48.  
  49. int main(int argc, char** argv)
  50. {
  51. int i;
  52.  
  53. for (i = 0; i < 10; i++)
  54. {
  55. printf("%.15Lf\n", array[i]);
  56. }
  57.  
  58. puts("");
  59. puts("");
  60.  
  61. rev_array(array, 10, sizeof(long double));
  62.  
  63. for (i = 0; i < 10; i++)
  64. {
  65. printf("%.15Lf\n", array[i]);
  66. }
  67.  
  68. return 0;
  69. }
  70.  
Success #stdin #stdout 0s 2168KB
stdin
Standard input is empty
stdout
0.304411824158121
0.702270983146229
0.675987113307883
0.652289676782947
0.975411752562938
0.284802741036713
0.877898595240810
0.726726914957288
0.084725908720116
0.946546040643011


0.946546040643011
0.084725908720116
0.726726914957288
0.877898595240810
0.284802741036713
0.975411752562938
0.652289676782947
0.675987113307883
0.702270983146229
0.304411824158121