Existuje N celých čísel, takže poradie predchádzajúcich čísel sa posunie späť o M pozícií, a nakoniec sa M čísel stane M číslami vpredu, napíšeme funkciu na dosiahnutie vyššie uvedených funkcií, zapíšeme N celých čísel N celých čísel a do hlavnej funkcie vypíšeme upravené N čísel.
#include "stdafx.h" #include "stdio.h" int main(int argc, char* argv[]) {void move(int array[20],int n,int m); int číslo[20],n,m,i; printf ("koľko čísel?"); scanf("%d",&n); printf("vstup %d čísla:\n",n); for(i=0; i<n; i++) scanf("%d",&číslo[i]); printf ("Koľko miest chceš presťahovať?"); scanf("%d",&m); move(number,n,m); printf ("teraz sú:\n"); for(i=0; i<n; i++) printf("%d ",číslo[i]); printf ("\n"); return 0;
} void move(int array[20],int n,int m) // funkcia, ktorá sa pohybuje späť raz v slučke {int *p,array_end; array_end=*(pole+n-1); for(p=array+n-1; p>array; p--) *p=*(p-1); *array=array_end; m--; if(m>0) move(array,n,m); Rekurzívne volanie, keď sa počet slučiek M zníži na 0, volanie sa zastaví
}
|