Obstaja N celih števil, tako da se vrstni red prejšnjih številk premakne nazaj za M mest, nazadnje pa M številk postane M številk spredaj, napišemo funkcijo za dosego zgornjih funkcij, vnesemo N celih števil in v glavno funkcijo izpišemo spremenjenih N števil.
#include "stdafx.h" #include "stdio.h" int main(int argc, char* argv[]) {void move(int array[20],int n,int m); int število[20],n,m,i; printf ("koliko številk?"); scanf("%d",&n); printf("vnos %d številk:\n",n); for(i=0; i<n; i++) scanf("%d",&število[i]); printf ("Koliko krajev želiš preseliti?"); scanf("%d",&m); move(number,n,m); printf ("zdaj so:\n"); for(i=0; i<n; i++) printf("%d ",številka[i]); printf ("\n"); vrni 0;
} funkcija void move(int array[20],int n,int m) // funkcija, ki se enkrat v zanki premakne nazaj {int *p,array_end; array_end=*(array+n-1); for(p=array+n-1; p>array; p--) *p=*(p-1); *array=array_end; m--; if(m>0) move(array,n,m); Rekurzivni klic, ko se število zank M zmanjša na 0, se klic ustavi
}
|