Има N цели числа, така че редът на предишните числа се измества назад с M позиции, и накрая M числа стават M числа отпред, записват функция за постигане на горните функции, въвеждат N цели числа N цели числа и извеждат коригирани N числа в основната функция.
#include "stdafx.h" #include "stdio.h" int main(int argc, char* argv[]) {void move(int array[20],int n,int m); int number[20],n,m,i; printf ("колко числа?"); scanf("%d",&n); printf("вход %d числа:\n",n); for(i=0; I<N; i++) scanf("%d",&number[i]); printf ("Колко места искаш да преместиш?"); scanf("%d",&m); move(number,n,m); printf ("сега те са:\n"); for(i=0; I<N; i++) printf("%d ",number[i]); printf("\n"); return 0;
} void move(int array[20],int n,int m) // функция, която се връща назад веднъж в цикъл {int *p,array_end; array_end=*(масив+n-1); for(p=масив+n-1; p>array; p--) *p=*(p-1); *масив=array_end; m--; if(m>0) move(array,n,m); Рекурсивно повикване, когато броят на циклите M се намали до 0, обаждането се прекратява
}
|