SHARE
TWEET

Untitled

a guest Nov 17th, 2019 97 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #define _USE_MATH_DEFINES
  3. #include <math.h>
  4. #include <stdio.h>
  5. #include <time.h>
  6. #include <stdlib.h>
  7. #include <locale.h>
  8. #include <string.h>
  9. #include <ctype.h>
  10.  
  11. void rus() {
  12.     setlocale(LC_ALL, "Russian");
  13. }
  14.  
  15. int minus(int a, int b) {
  16.     int c = a - b;
  17.     return c;
  18. }
  19.  
  20. void print(int* a, int n) {
  21.     for (int i = 0; i < n; i++)
  22.     {
  23.         printf("%d\t", a[i]);
  24.     }
  25. }
  26.  
  27. void print_f(float* a, int n) {
  28.     for (int i = 0; i < n; i++)
  29.     {
  30.         printf("%f\t", a[i]);
  31.     }
  32. }
  33.  
  34. void random(int *a, int N, int d, int plus) {
  35.     for (int i = 0; i < N; i++) {
  36.         a[i] = rand()%d + plus;
  37.     }
  38. }
  39.  
  40. void random_f(float* a, int N, int d, int plus) {
  41.     for (int i = 0; i < N; i++) {
  42.         a[i] = rand() % d + plus;
  43.     }
  44. }
  45.  
  46. void swap(int *a, int *b) {
  47.     int sw = *a;
  48.     *a = *b;
  49.     *b = sw;
  50. }
  51.  
  52. void swap_f(float* a, float* b) {
  53.     float sw = *a;
  54.     *a = *b;
  55.     *b = sw;
  56. }
  57.  
  58. void sort_vozrastanie(int* a, int start, int N) {
  59.     for (int i = start; i < N; i++) {
  60.         for (int j = start; j < N; j++) {
  61.             if (a[j] > a[j + 1]) {
  62.                 int* pa = &a[j], * pb = &a[j + 1];
  63.                 swap(pa, pb);
  64.             }
  65.         }
  66.     }
  67. }
  68.  
  69. void sort_ybivanie(int* a, int start, int N) {
  70.     for (int i = start; i < N; i++) {
  71.         for (int j = start; j < N; j++) {
  72.             if (a[j] < a[j + 1]) {
  73.                 int* pa = &a[j], * pb = &a[j + 1];
  74.                 swap(pa, pb);
  75.             }
  76.         }
  77.     }
  78. }
  79.  
  80. float cent_arifmetical(int* a, int N) {
  81.     int arif = 0;
  82.     for (int i = 0; i < N; i++)
  83.     {
  84.         arif += a[i];
  85.     }
  86.     arif = arif / N;
  87.     return arif;
  88. }
  89.  
  90. float max_in_array(float* a, int N) {
  91.     float max = -1111111111;
  92.     for (int i = 0; i < N; i++)
  93.     {
  94.         if (a[i] > max) {
  95.             max = a[i];
  96.         }
  97.     }
  98.     return max;
  99. }
  100.  
  101. int max_index_in_array(float* a, int N) {
  102.     float max = 0, j = 0;
  103.     for (int i = 0; i < N; i++)
  104.     {
  105.         if (a[i] > max) {
  106.             max = a[i];
  107.             j = i;
  108.         }
  109.     }
  110.     return j;
  111. }
  112.  
  113. float count_of_elements_who_more_then_q0_float(int* a, int N, int q0) {
  114.     float q = 0;
  115.     for (int i = 0; i < N; i++)
  116.     {
  117.         if (a[i] > q0) {
  118.             q++;
  119.         }
  120.     }
  121.     return q;
  122. }
  123.  
  124. int sum_chet(int *a, int N) {
  125.     int sum = 0;
  126.     for (int i = 0; i < N; i++)
  127.     {
  128.         if (i % 2 == 0) {
  129.             sum += a[i];
  130.         }
  131.     }
  132.     return sum;
  133. }
  134.  
  135. int sum_nechet(int *a, int N) {
  136.     int sum = 0;
  137.     for (int i = 0; i < N; i++)
  138.     {
  139.         if (i % 2 == 1) {
  140.             sum += a[i];
  141.         }
  142.     }
  143.     return sum;
  144. }
  145.  
  146. void sign(int* a, int* b, int N) {
  147.     int j = 0;
  148.     for (int i = 0; i < N; i++) {
  149.         if (a[i] < 0) {
  150.             b[j++] = a[i];
  151.         }
  152.     }
  153.  
  154.     for (int i = 0; i < N; i++) {
  155.         if (a[i] == 0) {
  156.             b[j++] = a[i];
  157.         }
  158.     }
  159.  
  160.     for (int i = 0; i < N; i++) {
  161.         if (a[i] > 0) {
  162.             b[j++] = a[i];
  163.         }
  164.     }
  165. }
  166.  
  167. void for_task3(int* a, int* b, int N) {
  168.     for (int i = 0; i < N; i++) {
  169.         int c = a[i] % 10, d = a[i] / 10;
  170.         b[i] = minus(c, d);
  171.     }
  172. }
  173.  
  174. int weniger(int* a, int i) {
  175.     int c = 0;
  176.     if (a[i] < a[i+1]) {
  177.         c = 1;
  178.     }
  179.     return c;
  180. }
  181.  
  182. int sortirovka(int* a, int *b, int *c, int N, int M) {
  183.     for (int i = 0; i < N; i++){
  184.         for (int j = 0; j < M; j++){
  185.             if (weniger(a, i)) {
  186.  
  187.             }
  188.             else {
  189.                 *c++;
  190.             }
  191.         }
  192.     }
  193. }
  194.  
  195. #define task1
  196.  
  197.  
  198. #ifdef task1
  199. int main() {
  200. #define N 100
  201.     rus();
  202.     setlocale(LC_ALL, "Russian");
  203.     int a[N] = { 0 }, b[N][N] = { 0 };
  204.     puts("Сколько цифр будет в вашем массиве?");
  205.     int n = 0, j = 0, k = 0, maxk = 0, *c = &k;
  206.     scanf("%d", &n);
  207.     puts("Вводите:");
  208.     for (int i = 0; i < n; i++) {
  209.         scanf("%d", &a[i]);
  210.     }
  211.     for (int i = 0; i < n-1; i++) {
  212.         if (a[i] > a[i + 1]) {
  213.             b[j][k++] = i+1;
  214.             if (k > maxk) {
  215.                 maxk = k;
  216.             }
  217.         }
  218.         else {
  219.             b[j++][k] = i+1;
  220.             k = 0;
  221.         }
  222.     }
  223.     b[j][k++] = a[n-1];
  224.     if (k> maxk){
  225.         maxk = k;
  226.     }
  227.     for (int i = 0; i <= j; i++) {
  228.         printf("%d -я увывающая строка индексов:\t", i);
  229.         for (int K = 0; K <= maxk; K++){
  230.             printf("%d\t", b[i][K]);
  231.         }
  232.         puts("\n");
  233.     }
  234.  
  235.     return 0;
  236. }
  237. #endif // task1 (-)
  238.  
  239. #ifdef task3
  240.  
  241. int main() {
  242.     rus();
  243.     srand(time(NULL));
  244. #define N 10
  245.     int a[N] = { 0 };
  246.     int b[N] = { 0 };
  247.     random(a, N, 20, -10);
  248.     print(a, N);
  249.     puts("\n");
  250.     sign(a, b, N);
  251.  
  252.     print(b, N);
  253. }
  254.  
  255. #endif //task3
  256.  
  257. #ifdef task4
  258. int main() {
  259.     srand(time(NULL));
  260. #define N 10
  261.     int a[N] = { 0 }, b[N] = { 0 };
  262.     random(a, N, 99, 1);
  263.     print(a, N);
  264.     puts("\n");
  265.     for_task3(a, b, N);
  266.     print(b, N);
  267.     return 0;
  268. }
  269. #endif // task4
  270.  
  271. #ifdef task5
  272. int main() {
  273. #define N 15
  274. #define D 15
  275.     rus();
  276.     srand(time(NULL));
  277.     int a[N] = { 0 }, b[N] = { 0 };
  278.     random(a, N, 2*D, (-D));
  279.     print(a, N);
  280.     puts("\n");
  281.     int j = 0;
  282.     for (int i = 0; i < N; i++) {
  283.         if (a[i] < 0) {
  284.             b[j++] = a[i];
  285.         }
  286.     }
  287.     int j_minus = j;
  288.     for (int i = 0; i < N; i++) {
  289.         if (a[i] == 0) {
  290.             b[j++] = a[i];
  291.         }
  292.     }
  293.     int j_zero = j - j_minus;
  294.     for (int i = 0; i < N; i++) {
  295.         if (a[i] > 0) {
  296.             b[j++] = a[i];
  297.         }
  298.     }
  299.     int j_plus = j - j_minus - j_zero;
  300.  
  301.     /*sort_vozrastanie(b, 0, j_minus);
  302.     sort_ybivanie(b, j_zero + 1, j_plus);
  303.     */
  304.     int sw = 0;
  305.     for (int i = 0; i < j_minus; i++) {
  306.         for (int j1 = 0; j1 < j_minus-1; j1++) {
  307.             if (b[j1] > b[j1 + 1]) {
  308.                 //swap(a[j1], a[j1 + 1]);
  309.                 sw = b[j1];
  310.                 b[j1] = b[j1 + 1];
  311.                 b[j1 + 1] = sw;
  312.             }
  313.         }
  314.     }
  315.  
  316.     for (int i = N-j_plus; i < N; i++) {
  317.         for (int j1 = N-j_minus+1; j1 < N-1; j1++) {
  318.             if (b[j1] < b[j1 + 1]) {
  319.                 //swap(a[j1], a[j1 + 1]);
  320.                 sw = b[j1];
  321.                 b[j1] = b[j1 + 1];
  322.                 b[j1 + 1] = sw;
  323.             }
  324.         }
  325.     }
  326.  
  327.     print(b, N);
  328.     return 0;
  329. }
  330. #endif // task5
  331.  
  332. #ifdef task6
  333. #define N 12
  334. int main() {
  335.     rus();
  336.     srand(time(NULL));
  337.     int a[N] = { 0 }, b[N] = { 0 };
  338.     random(a, N, 15, 1);
  339.     random(b, N, 15, 1);
  340.     print(a, N);
  341.     puts("\n");
  342.     print(b, N);
  343.     puts("\n\n");
  344.     for (int i = 0; i < N; i++)
  345.     {
  346.         for (int j = 0; j < N; j++)
  347.         {
  348.             if (a[i] == b[j]) {
  349.                 a[i] = 0;
  350.             }
  351.         }
  352.     }
  353.  
  354.     print(a, N);
  355.     return 0;
  356. }
  357. #endif // task6
  358.  
  359. #ifdef task8
  360. #define N 10
  361. int main() {
  362.     int a[N] = { 0 };
  363.     random(a, N, 10, 1);
  364.     print(a, N);
  365.     puts("\n");
  366.     int sum = sum_chet(a, N), sum2 =sum_nechet(a, N);  
  367.  
  368.     printf("%d", sum2 % sum);
  369.  
  370.     return 0;
  371. }
  372. #endif // task8
  373.  
  374. #ifdef task9
  375. int main() {
  376. #define N 10
  377.     int a[N] = { 0 };
  378.     float s = 0;
  379.     srand(time(NULL));
  380.     random(a, N, 10, 1);
  381.     print(a, N);
  382.     int arif = cent_arifmetical(a, N);
  383.    
  384.     float q = count_of_elements_who_more_then_q0_float(a, N, arif);
  385.     q = q * 100 / N;
  386.     printf("%.2f", q);
  387.     return 0;
  388. }
  389. #endif
  390.  
  391. #ifdef task10
  392. int main() {
  393. #define N 10
  394.     srand(time(NULL));
  395.     float a[N] = { 0 }, b[N] = { 0 };
  396.     random_f(a, N, 10, 1);
  397.     random_f(b, N, 10, 1);
  398.     print_f(a, N);
  399.     puts("\n");
  400.     print_f(b, N);
  401.     puts("\n\n");
  402.  
  403.     float max_a = max_in_array(a, N);
  404.     int i_a = max_index_in_array(a, N);
  405.     float max_b = max_in_array(b, N);
  406.     int i_b = max_index_in_array(b, N);
  407.     float* pa = &a[i_a], * pb = &b[i_b];
  408.     swap_f(pa, pb);
  409.  
  410.     printf("max elements: %f\t%f", *pa, *pb);
  411.     puts("\n");
  412.  
  413.     print_f(a, N);
  414.     puts("\n");
  415.     print_f(b, N);
  416.  
  417.     return 0;
  418. }
  419.  
  420. #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