Advertisement
Qellex

5.1

Dec 21st, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.09 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* B, int N, int M) //ввод массива с клавиатуры
  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.     for (i = 0; i < M; i++)
  21.     {
  22.         printf("B[%d]=", i);
  23.         scanf_s("%d", &B[i]);
  24.     }
  25. }
  26.  
  27. void input_rand(int A[], int B[], int n, int m) //рандомное создание массива
  28. {
  29.     int i, a = -100, b = 100;
  30.     for (i = 0; i < n; i++)
  31.         A[i] = random(b - a + 1) + a;
  32.     for (i = 0; i < m; i++)
  33.         B[i] = random(b - a + 1) + a;
  34. }
  35.  
  36. void output_arr(int* A, int n) //вывод массивa
  37. {
  38.     int i;
  39.     for (i = 0; i < n; i++)
  40.         printf("%5d", A[i]);
  41.     printf("\n");
  42. }
  43.  
  44. int main() {
  45.  
  46.     setlocale(LC_ALL, "rus");
  47.  
  48.     setlocale(LC_ALL, "rus");
  49.  
  50.     int* A, * B, * C;
  51.     int i, n, m, dir;
  52.  
  53.     do
  54.     {
  55.         printf("Введите количество элементов массива А: ");
  56.         scanf_s("%d", &n);
  57.         printf("Введите количество элементов массива В: ");
  58.         scanf_s("%d", &m);
  59.     } while (n <= 0 || m < 0);
  60.     int x = n + m;
  61.     A = (int*)malloc(n * sizeof(int));
  62.     B = (int*)malloc(m * sizeof(int));
  63.     C = (int*)malloc(x * sizeof(int));
  64.  
  65.     printf("Введите способ заполнения матрицы: любая цифра - вручную, 0 - рандомным образом");
  66.     scanf_s("%d", &dir);
  67.     if (dir)
  68.         input_arr(A, B, n, m);
  69.     else
  70.         input_rand(A, B, n, m);
  71.  
  72.     printf("Исходный массив А: \n");
  73.     output_arr(A, n);
  74.     printf("Исходный массив B: \n");
  75.     output_arr(B, m);
  76.  
  77.     //Добавляем в массив C элементы из массивов A и B
  78.     for (int i = 0; i < n + m; i++) {
  79.         if (i < n)
  80.             C[i] = A[i];
  81.         else
  82.             C[i] = B[i - n];
  83.     }
  84.  
  85.     printf("Массив С: \n");
  86.     output_arr(C, x);
  87.  
  88.     getchar(); getchar();
  89.  
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement