SHARE
TWEET

Untitled

a guest Nov 17th, 2019 110 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #ifdef task3
  2.  
  3. void rus() {
  4.     setlocale(LC_ALL, "Russian");
  5. }
  6.  
  7. int minus(int a, int b) {
  8.     int c = a - b;
  9.     return c;
  10. }
  11.  
  12. void print(int* a, int n) {
  13.     for (int i = 0; i < n; i++)
  14.     {
  15.         printf("%d\t", a[i]);
  16.     }
  17. }
  18.  
  19. void print_f(float* a, int n) {
  20.     for (int i = 0; i < n; i++)
  21.     {
  22.         printf("%f\t", a[i]);
  23.     }
  24. }
  25.  
  26. void random(int *a, int N, int d, int plus) {
  27.     for (int i = 0; i < N; i++) {
  28.         a[i] = rand()%d + plus;
  29.     }
  30. }
  31.  
  32. void random_f(float* a, int N, int d, int plus) {
  33.     for (int i = 0; i < N; i++) {
  34.         a[i] = rand() % d + plus;
  35.     }
  36. }
  37.  
  38. void swap(int *a, int *b) {
  39.     int sw = *a;
  40.     *a = *b;
  41.     *b = sw;
  42. }
  43.  
  44. void swap_f(float* a, float* b) {
  45.     float sw = *a;
  46.     *a = *b;
  47.     *b = sw;
  48. }
  49.  
  50. void sort_vozrastanie(int* a, int start, int N) {
  51.     for (int i = start; i < N; i++) {
  52.         for (int j = start; j < N; j++) {
  53.             if (a[j] > a[j + 1]) {
  54.                 int* pa = &a[j], * pb = &a[j + 1];
  55.                 swap(pa, pb);
  56.             }
  57.         }
  58.     }
  59. }
  60.  
  61. void sort_ybivanie(int* a, int start, int N) {
  62.     for (int i = start; i < N; i++) {
  63.         for (int j = start; j < N; j++) {
  64.             if (a[j] < a[j + 1]) {
  65.                 int* pa = &a[j], * pb = &a[j + 1];
  66.                 swap(pa, pb);
  67.             }
  68.         }
  69.     }
  70. }
  71.  
  72. float cent_arifmetical(int* a, int N) {
  73.     int arif = 0;
  74.     for (int i = 0; i < N; i++)
  75.     {
  76.         arif += a[i];
  77.     }
  78.     arif = arif / N;
  79.     return arif;
  80. }
  81.  
  82. float max_in_array(float* a, int N) {
  83.     float max = -1111111111;
  84.     for (int i = 0; i < N; i++)
  85.     {
  86.         if (a[i] > max) {
  87.             max = a[i];
  88.         }
  89.     }
  90.     return max;
  91. }
  92.  
  93. int max_index_in_array(float* a, int N) {
  94.     float max = 0, j = 0;
  95.     for (int i = 0; i < N; i++)
  96.     {
  97.         if (a[i] > max) {
  98.             max = a[i];
  99.             j = i;
  100.         }
  101.     }
  102.     return j;
  103. }
  104.  
  105. float count_of_elements_who_more_then_q0_float(int* a, int N, int q0) {
  106.     float q = 0;
  107.     for (int i = 0; i < N; i++)
  108.     {
  109.         if (a[i] > q0) {
  110.             q++;
  111.         }
  112.     }
  113.     return q;
  114. }
  115.  
  116. int sum_chet(int *a, int N) {
  117.     int sum = 0;
  118.     for (int i = 0; i < N; i++)
  119.     {
  120.         if (i % 2 == 0) {
  121.             sum += a[i];
  122.         }
  123.     }
  124.     return sum;
  125. }
  126.  
  127. int sum_nechet(int *a, int N) {
  128.     int sum = 0;
  129.     for (int i = 0; i < N; i++)
  130.     {
  131.         if (i % 2 == 1) {
  132.             sum += a[i];
  133.         }
  134.     }
  135.     return sum;
  136. }
  137.  
  138. void sign(int* a, int* b, int N) {
  139.     int j = 0;
  140.     for (int i = 0; i < N; i++) {
  141.         if (a[i] < 0) {
  142.             b[j++] = a[i];
  143.         }
  144.     }
  145.  
  146.     for (int i = 0; i < N; i++) {
  147.         if (a[i] == 0) {
  148.             b[j++] = a[i];
  149.         }
  150.     }
  151.  
  152.     for (int i = 0; i < N; i++) {
  153.         if (a[i] > 0) {
  154.             b[j++] = a[i];
  155.         }
  156.     }
  157. }
  158.  
  159. void for_task3(int* a, int* b, int N) {
  160.     for (int i = 0; i < N; i++) {
  161.         int c = a[i] % 10, d = a[i] / 10;
  162.         b[i] = minus(c, d);
  163.     }
  164. }
  165.  
  166. int main() {
  167.     rus();
  168.     srand(time(NULL));
  169. #define N 10
  170.     int a[N] = { 0 };
  171.     int b[N] = { 0 };
  172.     random(a, N, 20, -10);
  173.     print(a, N);
  174.     puts("\n");
  175.     sign(a, b, N);
  176.  
  177.     print(b, N);
  178. }
  179.  
  180. #endif //task3
  181.  
  182. #ifdef task4
  183. int main() {
  184.     srand(time(NULL));
  185. #define N 10
  186.     int a[N] = { 0 }, b[N] = { 0 };
  187.     random(a, N, 99, 1);
  188.     print(a, N);
  189.     puts("\n");
  190.     for_task3(a, b, N);
  191.     print(b, N);
  192.     return 0;
  193. }
  194. #endif // task4
  195.  
  196. #ifdef task5
  197. int main() {
  198. #define N 15
  199. #define D 15
  200.     rus();
  201.     srand(time(NULL));
  202.     int a[N] = { 0 }, b[N] = { 0 };
  203.     random(a, N, 2*D, (-D));
  204.     print(a, N);
  205.     puts("\n");
  206.     int j = 0;
  207.     for (int i = 0; i < N; i++) {
  208.         if (a[i] < 0) {
  209.             b[j++] = a[i];
  210.         }
  211.     }
  212.     int j_minus = j;
  213.     for (int i = 0; i < N; i++) {
  214.         if (a[i] == 0) {
  215.             b[j++] = a[i];
  216.         }
  217.     }
  218.     int j_zero = j - j_minus;
  219.     for (int i = 0; i < N; i++) {
  220.         if (a[i] > 0) {
  221.             b[j++] = a[i];
  222.         }
  223.     }
  224.     int j_plus = j - j_minus - j_zero;
  225.  
  226.     /*sort_vozrastanie(b, 0, j_minus);
  227.     sort_ybivanie(b, j_zero + 1, j_plus);
  228.     */
  229.     int sw = 0;
  230.     for (int i = 0; i < j_minus; i++) {
  231.         for (int j1 = 0; j1 < j_minus-1; j1++) {
  232.             if (b[j1] > b[j1 + 1]) {
  233.                 //swap(a[j1], a[j1 + 1]);
  234.                 sw = b[j1];
  235.                 b[j1] = b[j1 + 1];
  236.                 b[j1 + 1] = sw;
  237.             }
  238.         }
  239.     }
  240.  
  241.     for (int i = N-j_plus; i < N; i++) {
  242.         for (int j1 = N-j_minus+1; j1 < N-1; j1++) {
  243.             if (b[j1] < b[j1 + 1]) {
  244.                 //swap(a[j1], a[j1 + 1]);
  245.                 sw = b[j1];
  246.                 b[j1] = b[j1 + 1];
  247.                 b[j1 + 1] = sw;
  248.             }
  249.         }
  250.     }
  251.  
  252.     print(b, N);
  253.     return 0;
  254. }
  255. #endif // task5
  256.  
  257. #ifdef task6
  258. #define N 12
  259. int main() {
  260.     rus();
  261.     srand(time(NULL));
  262.     int a[N] = { 0 }, b[N] = { 0 };
  263.     random(a, N, 15, 1);
  264.     random(b, N, 15, 1);
  265.     print(a, N);
  266.     puts("\n");
  267.     print(b, N);
  268.     puts("\n\n");
  269.     for (int i = 0; i < N; i++)
  270.     {
  271.         for (int j = 0; j < N; j++)
  272.         {
  273.             if (a[i] == b[j]) {
  274.                 a[i] = 0;
  275.             }
  276.         }
  277.     }
  278.  
  279.     print(a, N);
  280.     return 0;
  281. }
  282. #endif // task6
  283.  
  284. #ifdef task8
  285. #define N 10
  286. int main() {
  287.     int a[N] = { 0 };
  288.     random(a, N, 10, 1);
  289.     print(a, N);
  290.     puts("\n");
  291.     int sum = sum_chet(a, N), sum2 =sum_nechet(a, N);  
  292.  
  293.     printf("%d", sum2 % sum);
  294.  
  295.     return 0;
  296. }
  297. #endif // task8
  298.  
  299. #ifdef task9
  300. int main() {
  301. #define N 10
  302.     int a[N] = { 0 };
  303.     float s = 0;
  304.     srand(time(NULL));
  305.     random(a, N, 10, 1);
  306.     print(a, N);
  307.     int arif = cent_arifmetical(a, N);
  308.    
  309.     float q = count_of_elements_who_more_then_q0_float(a, N, arif);
  310.     q = q * 100 / N;
  311.     printf("%.2f", q);
  312.     return 0;
  313. }
  314. #endif
  315.  
  316. #ifdef task10
  317. int main() {
  318. #define N 10
  319.     srand(time(NULL));
  320.     float a[N] = { 0 }, b[N] = { 0 };
  321.     random_f(a, N, 10, 1);
  322.     random_f(b, N, 10, 1);
  323.     print_f(a, N);
  324.     puts("\n");
  325.     print_f(b, N);
  326.     puts("\n\n");
  327.  
  328.     float max_a = max_in_array(a, N);
  329.     int i_a = max_index_in_array(a, N);
  330.     float max_b = max_in_array(b, N);
  331.     int i_b = max_index_in_array(b, N);
  332.     float* pa = &a[i_a], * pb = &b[i_b];
  333.     swap_f(pa, pb);
  334.  
  335.     printf("max elements: %f\t%f", *pa, *pb);
  336.     puts("\n");
  337.  
  338.     print_f(a, N);
  339.     puts("\n");
  340.     print_f(b, N);
  341.  
  342.     return 0;
  343. }
  344.  
  345. #endif // task10
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top