Advertisement
legendmt25

Untitled

Dec 19th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.06 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. const int MAX = 100;
  4. void scan_array(int* a, int N);
  5. int dublicate(int* a, int N);
  6. void printf_array(int* a, int N);
  7. int main()
  8. {
  9.     int a[MAX], b[MAX*2];
  10.     int N, p = *a;
  11.     scanf("%d", &N);
  12.     scan_array(a, N);
  13.     if(!duplicate(a, b, N))
  14.     {
  15.         print_array(b, N + *a);
  16.     }
  17.     else
  18.     {
  19.         printf("GRESHKA");
  20.     }
  21.     return 0;
  22. }
  23.  
  24. void scan_array(int* a, int N)
  25. {
  26.     for(int i = 0; i < N; i++)
  27.     {
  28.         scanf("%d", a+i);
  29.     }
  30. }
  31. void print_array(int* a, int N)
  32. {
  33.     for(int i = 0; i < N; i++)
  34.     {
  35.         printf("%d ", *(a+i));
  36.     }
  37. }
  38. int duplicate(int* a, int* b, int N)
  39. {
  40.     if(*a >= N)
  41.     {
  42.         return -1;
  43.     }
  44.     int i;
  45.     for(i = 0; i < *a; i++)
  46.     {
  47.         *(b + i) = *(a + i);  //get first elements
  48.     }
  49.     for(int j = i, p = 0; i < j + *a; i++, p++)
  50.     {
  51.         *(b + i) = *(a + p); //duplicate them
  52.     }
  53.     i = 2 * *a;
  54.     for(int j = *a; j < N; i++, j++)
  55.     {
  56.         *(b + i) = *(a + j); //get the rest of the elements
  57.     }
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement