FUNKCIJE – NIZOVI – POKAZIVAČI Napisati program koji vrši ciklično pomeranje niza celih brojeva dužine n za m mesta u levo. Koristiti funkciju za unos niza, f‐ju za ispis niza i f‐ju za pomeranje niza za 1 mesto u levo. #include<stdio.h> #include<stdlib.h> void citajNiz(int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=",i); scanf("%d",&x[i]); } } void pisiNiz(int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=%d",i,x[i]); printf("\n"); } } void LevoZa1(int x[], int n) { int pom,i; pom=x[0]; for(i=1;i<n;x[i‐1]=x[i],i++); x[n‐1]=pom; } int main() { int n,m,i,x[50]; printf("Unesite broj elemenata niza :\n"); scanf("%d",&n); printf("Unesite elemente niza:\n"); citajNiz(x,n); //funkcija za unos elemenata niza printf("Za koliko mesta pomerate u levo elemente niza:\n"); scanf("%d",&m); for(i=0;i<m;i++) LevoZa1(x,n);//funkcija za premestanje niza za 1 mesti u levo printf("Sortirani niz je:\n"); pisiNiz(x,n); //f‐ja za ispis niza return 0; } #include <stdio.h> #include <stdlib.h> void citajNiz(int *x, int n) //moze se pisati (int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=",i); scanf("%d",x+i); } } void pisiNiz(int *x, int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=%d",i,*(x+i)); printf("\n"); } } void LevoZa1(int *x, int n) { int pom,i; pom=*x; for(i=1;i<n;*(x+i‐1)=*(x+i),i++); x[n‐1]=pom; } int main() { int n,m,i,x[50]; printf("Unesite broj elemenata niza:\n"); scanf("%d",&n); printf("Unesite elemente niza:\n"); citajNiz(x,n); //funkcija za unos elemenata niza printf("Za koliko mesta pomerate u levo elemente niza:\n"); scanf("%d",&m); for(i=0;i<m;i++) LevoZa1(x,n);//funkcija za premestanje niza za 1 mesti u levo printf("Sortirani niz je:\n"); pisiNiz(x,n); //f‐ja za ispis niza return 0; } AKO SU FUNKCIJE NAPISANE POSLE FUNKCIJE INT MAIN() #include<stdio.h> #include<stdlib.h> int main() { int n,m,i,x[50]; //prototip funkcija –poziv funkcije void pisiNiz(); void citajNiz(); void LevoZa1(); printf("Unesite broj elemenata niza :\n"); scanf("%d",&n); printf("Unesite elemente niza:\n"); citajNiz(x,n); //funkcija za unos elemenata niza printf("Za koliko mesta pomerate u levo elemente niza:\n"); scanf("%d",&m); for(i=0;i<m;i++) LevoZa1(x,n);//funkcija za premestanje niza za 1 mesti u levo printf("Sortirani niz je:\n"); pisiNiz(x,n); //f‐ja za ispis niza return 0; } void citajNiz(int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=",i); scanf("%d",&x[i]); } } void pisiNiz(int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=%d",i,x[i]); printf("\n"); } } void LevoZa1(int x[], int n) { int pom,i; pom=x[0]; for(i=1;i<n;x[i‐1]=x[i],i++); x[n‐1]=pom; } #include <stdio.h> #include <stdlib.h> int main() { int n,m,i,x[50]; //prototip funkcija void pisiNiz(); void citajNiz(); void LevoZa1(); printf("Unesite broj elemenata niza:\n"); scanf("%d",&n); printf("Unesite elemente niza:\n"); citajNiz(x,n); //funkcija za unos elemenata niza printf("Za koliko mesta pomerate u levo elemente niza:\n"); scanf("%d",&m); for(i=0;i<m;i++) LevoZa1(x,n);//funkcija za premestanje niza za 1 mesti u levo printf("Sortirani niz je:\n"); pisiNiz(x,n); //f‐ja za ispis niza return 0; } void citajNiz(int *x, int n) //moze se pisati (int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=",i); scanf("%d",x+i); } } void pisiNiz(int *x, int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=%d",i,*(x+i)); printf("\n"); } } void LevoZa1(int *x, int n) { int pom,i; pom=*x; for(i=1;i<n;*(x+i‐1)=*(x+i),i++); x[n‐1]=pom; } Napisati program koji vrši ciklično pomeranje niza celih brojeva dužine n za k mesta udesno. Koristiti funkciju za unos niza, f‐ju za ispis niza i f‐ju za pomeranje niza za k mesto u desno. (Sada se u f‐ji vrši pomeranje niza za k mesto u desno, a ne za jedno mesto kao u prethodnom primeru) #include<stdio.h> #include<stdlib.h> void citajNiz(int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=",i); scanf("%d",&x[i]); } } void pisiNiz(int x[], int n) { int i; for(i=0;i<n;i++) { printf("x[%d]=%d",i,x[i]); printf("\n"); } } void DesnoZaK(int x[], int n,int k) { int pom,i,j; for(j=0;j<k;j++) { pom=x[n‐1]; for(i=n‐1;i>0;x[i]=x[i‐1],i‐‐); x[0]=pom; } } int main() { int n,k,x[50]; printf("Unesite broj elemenata niza :\n"); scanf("%d",&n); printf("Unesite elemente niza:\n"); citajNiz(x,n); //funkcija za unos elemenata niza printf("Za koliko mesta pomerate u desno elemente niza:\n"); scanf("%d",&k); DesnoZaK(x,n,k);//funkcija za premestanje niza za 1 mesti u levo printf("Sortirani niz je:\n"); pisiNiz(x,n); //f‐ja za ispis niza return 0; } 
Download

ciklično pomeranje niza