fork download
  1. /*
  2. Turnuri in zig-zag. Un copil are n turnuri de inaltimi diferite (numere naturale).
  3. El vrea sa construiasca un zid cu toate turnurile asezandu-le unul langa
  4. altul astfel incat turnurile ce ocupa pozitii pare in zid sa fie mai inalte
  5. decat turnurile vecine. Descoperiti un algoritm cu ajutorul caruia copilul sa
  6. poata construi sirul.
  7.  
  8.   n = 7
  9.  
  10.   Input-> 1 7 2 6 4 3 5
  11.  
  12.   Output-> 1 5 2 6 3 7 4
  13.  
  14.   n = 6
  15.  
  16.   Input -> 12 16 14 11 15 13
  17.  
  18.   Output -> 11 14 12 15 13 16
  19. */
  20. #include <stdio.h>
  21.  
  22. int main(int argc, char const *argv[]) {
  23.  
  24. int arr[100], n, i, k;
  25.  
  26. printf("N = ");
  27.  
  28. scanf("%d", &n);
  29.  
  30. for(i = 1; i <= n; ++i) {
  31.  
  32. printf("vec[%d] = ", i);
  33.  
  34. scanf("%d", &arr[i]);
  35. }
  36.  
  37. for(i = 1; i <= n; ++i) {
  38.  
  39. printf("%d ", arr[i]);
  40. }
  41.  
  42. printf("\n");
  43.  
  44. k = n / 2;
  45.  
  46. if(n % 2) k++;
  47.  
  48. for(i = k + 1; i <= n; ++i) {
  49.  
  50. printf("%d %d ", arr[i - k], arr[ i ]);
  51. }
  52.  
  53. if(n % 2) printf("%d", arr[k]);
  54.  
  55. printf("\n");
  56.  
  57. return 0;
  58. }
  59.  
Success #stdin #stdout 0s 5628KB
stdin
7
1
2
3
4
5
6
7
stdout
N = vec[1] = vec[2] = vec[3] = vec[4] = vec[5] = vec[6] = vec[7] = 1 2 3 4 5 6 7 
1 5 2 6 3 7 4