Yra N sveikieji skaičiai, todėl ankstesnių skaičių tvarka perkeliama atgal M pozicijomis, o galiausiai M skaičiai tampa M skaičiais priekyje, parašykite funkciją, kad pasiektumėte aukščiau nurodytas funkcijas, įveskite N sveikuosius skaičius N sveikuosius skaičius ir pagrindinėje funkcijoje išveskite pakoreguotus N skaičius.
#include "stdafx.h" #include "stdio.h" int main(int argc, char* argv[]) {void move(int masyvas[20],int n,int m); int skaičius[20],n,m,i; printf("kiek skaičių?"); scanf("%d",&n); printf("įveskite %d skaičius:\n",n); for(i=0; i<n; i++) scanf("%d",&skaičius[i]); printf("kiek vietų norite perkelti?"); scanf("%d",&m); move(skaičius,n,m); printf("dabar ,jie yra:\n"); for(i=0; i<n; i++) printf("%d ",skaičius[i]); printf("\n"); grąža 0;
} void move(int masyvas[20],int n,int m) // funkcija, kuri vieną kartą grįžta atgal {int *p,array_end; array_end=*(masyvas+n-1); for(p=masyvas+n-1; p>masyvas; p--) *p=*(p-1); *masyvas=array_end; m--; if(m>0) move(masyvas,n,m); Rekursinis skambutis, kai kilpų skaičius M sumažinamas iki 0, skambutis sustabdomas
}
|