Advertisement
80LK

LR10 AKT

Oct 28th, 2019
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.65 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <time.h>
  4.  
  5. void quest1();
  6. void quest2();
  7. void quest3();
  8. void quest4();
  9.  
  10. int main()
  11. {
  12.     setlocale(0, ".1251");
  13.  
  14.     while (1) {
  15.         srand(time(0));
  16.        
  17.         quest4();
  18.  
  19.         puts("");
  20.     }
  21.  
  22.     return 0;
  23. }
  24.  
  25. void quest1() {
  26.     int *arr, n;
  27.  
  28.     do {
  29.         printf("Размер массива: ");
  30.         scanf_s("%d", &n);
  31.     } while (n < 1);
  32.  
  33.     arr = (int*)calloc(n, sizeof(int));
  34.  
  35.     puts("Массив:");
  36.     for (int i = 0; i < n; i++)
  37.     {
  38.         arr[i] = rand() % 101 - 50;
  39.         printf("A[%d] = %d\n", i, arr[i]);
  40.         if (arr[i] % 2 == 0)
  41.             arr[i] = 0;
  42.     }
  43.  
  44.     puts("a/2 = 0:");
  45.     for (int i = 0; i < n; i++) {
  46.         printf("A[%d] = %d\n", i, arr[i]);
  47.     }
  48.     free(arr);
  49. }
  50.  
  51. void quest2() {
  52.     int *arr, n, m;
  53.  
  54.     do {
  55.         printf("Размер массива: ");
  56.         scanf_s("%d", &n);
  57.     } while (n < 1);
  58.  
  59.     arr = (int*)calloc(n, sizeof(int));
  60.  
  61.     puts("Массив:");
  62.     for (int i = 0; i < n; i++)
  63.     {
  64.         printf("A[%d] = ", i);
  65.         scanf_s("%d", &arr[i]);
  66.     }
  67.  
  68.     do {
  69.         printf("Элемент массива: ");
  70.         scanf_s("%d", &m);
  71.     } while (m < 1 || m > n);
  72.  
  73.     for (int i = m-1; i < n; i++)
  74.     {
  75.         printf("A[%d] = %d\n", i, arr[i]);
  76.     }
  77.     free(arr);
  78. }
  79.  
  80. void quest3(){
  81.     int *arr, n, s = 0;
  82.  
  83.     do {
  84.         printf("Размер массива: ");
  85.         scanf_s("%d", &n);
  86.     } while (n < 1);
  87.  
  88.     arr = (int*)calloc(n, sizeof(int));
  89.  
  90.     puts("Массив:");
  91.     for (int i = 0; i < n; i++)
  92.     {
  93.         arr[i] = rand() % 201 - 100;
  94.  
  95.         printf("A[%d] = %d\n", i+1, arr[i]);
  96.     }
  97.  
  98.     puts("Четные:");
  99.     int d = 0;
  100.     for (int i = 1; i <= n; i++) {
  101.         d += i;
  102.  
  103.         if (arr[i-1] % 2 == 0)
  104.             printf("%d\n", arr[i - 1]);
  105.         else
  106.             s += i;
  107.     }
  108.  
  109.     if (s == d)
  110.         puts("Четных значений нет");
  111.  
  112.     printf("Сумма индексов не четных: %d\n", s);
  113.     free(arr);
  114. }
  115.  
  116. void quest4() {
  117.     int *arr, *A = NULL, *B = NULL, n, a = 0, b = 0;
  118.  
  119.     do {
  120.         printf("Размер массива: ");
  121.         scanf_s("%d", &n);
  122.     } while (n < 1);
  123.  
  124.     arr = (int*)calloc(n, sizeof(int));
  125.  
  126.     puts("Массив:");
  127.     for (int i = 0; i < n; i++)
  128.     {
  129.         printf("Arr[%d] = ", i);
  130.         scanf_s("%d", &arr[i]);
  131.  
  132.         if (arr[i] < 0) {
  133.             a++;
  134.             A = (int*)realloc(A,  a * sizeof(int));
  135.             A[a - 1] = arr[i];
  136.         }
  137.         else if (arr[i] > 0) {
  138.             b++;
  139.             B = (int*)realloc(B, b * sizeof(int));
  140.             B[b-1] = arr[i];
  141.         }
  142.     }
  143.  
  144.     puts("Массив A(-):");
  145.     if (a == 0)
  146.         puts("Массив пуст.");
  147.     else
  148.         for (int i = 0; i < a; i++)
  149.             printf("A[%d] = %d\n", i, A[i]);
  150.  
  151.     puts("Массив B(+):");
  152.     if (b == 0)
  153.         puts("Массив пуст.");
  154.     else
  155.         for (int i = 0; i < b; i++)
  156.             printf("B[%d] = %d\n", i, B[i]);
  157.  
  158.  
  159.     free(arr);
  160.     free(A);
  161.     free(B);
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement