Існує N цілих чисел, тому порядок попередніх чисел повертається на M позицій, і нарешті M чисел стають M чисел попереду, записують функцію для досягнення вищезазначених функцій, вводять 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, виклик зупиняється
}
|