Advertisement
ipilot

SomeFunctions

Oct 29th, 2014
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. //list
  7. void PowerA3(int A, int *B);
  8. void PowerA234(int A, int *B);
  9. void Mean(int X, int Y, double *AMean, double *GMean);
  10. void TrianglePS(int A, int *P, double *S);
  11. void RectPS(int x1, int y1, int x2, int y2, int *P, int *S);
  12. void DigitCountSum(int k, int* c, int* s);
  13. void InvertDigits(int *k);
  14. void AddRightDigit(int d, int* k);
  15. void AddLeftDigit(int d, int* k);
  16. void MinMax(double *x, double *y);
  17. void Swap(double *x, double *y);
  18. void SortInc3(double *a, double *b, double *c);
  19. //--------------
  20.  
  21. void PowerA3(int A, int *B)
  22. {
  23.     *B = A*A*A;
  24. }
  25.  
  26. void PowerA234(int A, int *B, int *C, int *D)
  27. {
  28.     *B = A*A;
  29.     *C = (*B)*A;
  30.     *D = (*C)*A;
  31. }
  32.  
  33. void Mean(int X, int Y, double *AMean, double *GMean)
  34. {
  35.     *AMean = ((double)X + Y) / 2;
  36.  
  37.     *GMean = sqrt(X * Y);
  38. }
  39.  
  40. void TrianglePS(int A, int *P, double *S)
  41. {
  42.     *P = A*3;
  43.     *S = sqrt(3*A*A)/4;
  44. }
  45.  
  46. void RectPS(int x1, int y1, int x2, int y2, int *P, int *S)
  47. {
  48.     *S = abs(x1 - x2) * abs(y1 - y2);
  49.  
  50.     *P = abs(x1 - x2) * 2 + abs(y1 - y2) * 2;
  51. }
  52.  
  53. void DigitCountSum(int k, int* c, int* s)
  54. {
  55.     while(k > 0)
  56.     {
  57.         (*c)++;
  58.         *s += k % 10;
  59.         k /= 10;
  60.     }
  61. }
  62.  
  63. void InvertDigits(int *k)
  64. {
  65.     int x = 0;
  66.     while (*k > 0)
  67.     {
  68.         x *= 10;
  69.         x += *k % 10;
  70.         *k /= 10;
  71.     }
  72.     *k = x;
  73. }
  74.  
  75. void AddRightDigit(int d, int* k)
  76. {
  77.     *k *= 10;
  78.     *k += d;
  79. }
  80.  
  81. void AddLeftDigit(int d, int* k)
  82. {
  83.     InvertDigits(k);
  84.     AddRightDigit(d, k);
  85.     InvertDigits(k);
  86. }
  87.  
  88. void Swap(double *x, double *y)
  89. {
  90.     *x = *x + *y;
  91.     *y = *x - *y;
  92.     *x = *x - *y;
  93. }
  94.  
  95. void MinMax(double *x, double *y)
  96. {
  97.     if (*x > *y) Swap(x, y);
  98. }
  99.  
  100. void SortInc3(double *a, double *b, double *c)
  101. {
  102.     MinMax(a, b);
  103.     MinMax(a, c);
  104.     MinMax(b, c);
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement