Qellex

5.1 v - 15

Feb 18th, 2021 (edited)
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. #include <stdio.h> // библиотека для ввода и вывода
  2. #include <math.h> // математические функции
  3. #include <locale.h> // кириллица
  4. #include<stdlib.h>
  5. #include <time.h>
  6.  
  7. int random(int N)
  8. {
  9.     return rand() % N;
  10. }
  11.  
  12. void input_arr(int* A, int N) //ввод массива с клавиатуры
  13. {
  14.     int i;
  15.     for (i = 0; i < N; i++)
  16.     {
  17.         printf("A[%d]=", i);
  18.         scanf_s("%d", &A[i]);
  19.     }
  20. }
  21.  
  22. void input_rand(int A[], int n) //рандомное создание массива
  23. {
  24.     int i, a = -100, b = 100;
  25.     for (i = 0; i < n; i++)
  26.         A[i] = random(b - a + 1) + a;
  27.  
  28. }
  29.  
  30. void output_arr(int* A, int n) //вывод массивa
  31. {
  32.     int i;
  33.     for (i = 0; i < n; i++)
  34.         printf("%5d", A[i]);
  35.     printf("\n");
  36. }
  37.  
  38. int main() {
  39.  
  40.     setlocale(LC_ALL, "rus");
  41.  
  42.     int* A, * B, * C;
  43.     int i, n, dir;
  44.  
  45.     do
  46.     {
  47.         printf("Введите количество элементов массива А: ");
  48.         scanf_s("%d", &n);
  49.     } while (n <= 0);
  50.     A = (int*)malloc(n * sizeof(int));
  51.     B = (int*)malloc(n * sizeof(int));
  52.     C = (int*)malloc(n * sizeof(int));
  53.  
  54.     printf("Введите способ заполнения матрицы: любая цифра - вручную, 0 - рандомным образом");
  55.     scanf_s("%d", &dir);
  56.     if (dir)
  57.         input_arr(A, n);
  58.     else
  59.         input_rand(A, n);
  60.  
  61.     printf("Исходный массив А: \n");
  62.     output_arr(A, n);
  63.  
  64.     int b = 0, c = 0;
  65.     for (int i = 0; i < n; i++) {
  66.         if (A[i] % 2 == 0) {
  67.             B[b] = A[i];
  68.             b++;
  69.         }
  70.         else {
  71.             C[c] = A[i];
  72.             c++;
  73.  
  74.         }
  75.     }
  76.  
  77.  
  78.     printf("Массив B: \nЭлементов - %d", b);
  79.     output_arr(B, b);
  80.     printf("Массив С: \nЭлементов - %d", c);
  81.     output_arr(C, c);
  82.  
  83.     getchar(); getchar();
  84.  
  85.     return 0;
  86. }
Add Comment
Please, Sign In to add comment