Advertisement
Mihajlo_K

7.2 Замена

Mar 19th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | None | 0 0
  1. /* Во низа од N природни броеви (N и низата се читаат од СВ) да си ги заменат позициите соседните взаемно прости броеви (два броја се взаемно прости ако немаат заеднички делители). На ист елемент од низата може најмногу еднаш да му се изврши замена. Да се испечати на СИ изменетата низа.
  2.  
  3. Замената на два броја да се реализира во посебна функција. */
  4.  
  5. #include <stdio.h>
  6. #define MAX 100
  7.  
  8. // вашите функции овде
  9. void swap(int *a, int *b)
  10. {
  11.     int t;
  12.    
  13.     t = *a;
  14.     *a = *b;
  15.     *b = t;
  16. }
  17.  
  18. int main() {
  19.     int a[MAX];
  20.     int n;
  21.     scanf("%d", &n);
  22.     int i, j, k;
  23.     for(i = 0; i < n; i++) {
  24.         scanf("%d", &a[i]);
  25.     }
  26.    
  27.     // вашиот код почнува овде
  28.     for(i = 0; i < n-1; i++)
  29.     {
  30.         k = 0;
  31.         for(j = a[i]; j > 0; j--)
  32.         {
  33.             if(a[i] % j == 0)
  34.             {
  35.                 if(a[i+1] % j == 0)
  36.                 {
  37.                     k++;
  38.                 }
  39.             }
  40.         }
  41.         if(k == 1)
  42.         {
  43.             swap(&a[i], &a[i+1]);
  44.             i++;
  45.         }
  46.     }
  47.    
  48.     // завршува овде
  49.    
  50.     for(i = 0; i < n; i++) {
  51.         printf("%d ", a[i]);
  52.     }
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement