Odense

Task 2

Jan 29th, 2021 (edited)
885
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.16 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4. int main()
  5. {
  6.     //размер массива А
  7.     int N;
  8.     //размер массива В
  9.     int B;
  10.     //верхняя граница диапазона при генерации случайных чисел для записи в массив
  11.     int max = 10;
  12.    
  13.     //считывание размерности массивов
  14.     //
  15.     printf("Enter N: ");
  16.     scanf("%d", &N);
  17.    
  18.     printf("Enter B (B < N): ");
  19.     scanf("%d", &B);
  20.     //
  21.  
  22.     //создание массивов соотвествующих размеров
  23.     int massA[N];
  24.     int massB[B];
  25.    
  26.     //заполнение массивов случайными значениями и вывод в консоль
  27.     //
  28.     printf("\nArray A: ");
  29.     for (int i = 0; i < N; i++)
  30.     {
  31.         massA[i] = rand() % max;
  32.         printf("%d ", massA[i]);
  33.     }
  34.    
  35.     printf("\nArray B: ");
  36.     for (int i = 0; i < B; i++)
  37.     {
  38.         massB[i] = rand() % max;
  39.         printf("%d ", massB[i]);
  40.     }
  41.     //
  42.  
  43.     //берётся по одному числу из массива А и сравнивается с каждым числом в массиве В
  44.     //если встречаются совпадения -- часть массива сдвигается влево, на место совпавшего элемента перезаписывается
  45.     //его правый сосед, тем самым замещая его значение. Размерность массива уменьшается
  46.     for (int i = 0; i < N; i++)
  47.     {
  48.         for (int j = 0; j < B; j++)
  49.         {
  50.             //поиск совпадений
  51.             if (massA[i] == massB[j])
  52.             {
  53.                 for (int k = i; k < N; k++)
  54.                 {
  55.                     //смещение массива и перезапись элементов
  56.                     massA[k] = massA[k + 1];
  57.                 }
  58.                 //уменьшение размера
  59.                 --N;
  60.             }
  61.         }
  62.     }
  63.    
  64.     printf("\nAfter deleting:\n");
  65.    
  66.     for (int i = 0; i < N; i++)
  67.     {
  68.         printf("%d ", massA[i]);
  69.     }
  70.    
  71.     return 0;
  72. }
Add Comment
Please, Sign In to add comment