Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /*
- Задача:
- 1. Да се напише програма која во дадена низа од n цели позитивни броеви (бројот на елементи
- и низата се читаат од тастатура) ќе изврши замена на простите соседни елементи. На еден ист
- елемент од низата може најмногу еднаш да му се изврши замена. Потоа да се испечати
- новодобиената низа.
- Забелешка: Проверката дали бројот е прост да се реализира со посебна функција
- Пример: влезна низа: 4 6 3 5 7 11 излезна низа: 4 6 5 3 11 7
- влезна низа: 4 6 3 5 7 11 13 излезна низа: 4 6 5 3 11 7 13
- */
- int prost(int n)
- {
- int i;
- for(i=2;i*i<n;i++)
- {
- if(!(n%i)) return 0;
- }
- return 1;
- }
- int zamena(int *a)
- {
- int p;
- if(prost(*a))
- {
- p=*a;
- *a=*(a+1);
- *(a+1)=p;
- return 1;
- }
- return 0;
- }
- void print_niza(int a[],int n)
- {
- int i;
- for(i=0;i<n;i++) printf("%d ",a[i]);
- return;
- }
- int main()
- {
- int a[100],n;
- printf("Vnesete broj chlenovi na niza: ");
- scanf("%d",&n);
- printf("Vnesete gi chlenovite: ");
- int i,p,flag=0;
- for(i=0;i<n;i++) scanf("%d",&a[i]);
- if(prost(a[0])&&prost(a[1]))
- {
- p=a[0];
- a[0]=a[1];
- a[1]=p;
- }
- for(i=2;i<n-1;i++)
- {
- if(flag) flag=0;
- else if(zamena(&a[i])) flag=1;
- }
- print_niza(a,n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement