متاسفانه من وقت تبدیلشون رو ندارم، اما خودتون کد ++c رو بنویسید فکر کنم بهتر باشه، پیشنهاد می کنم روی آرایه پیاده سازی کنید، در هر صورت این یکی از الگوریتم ها بود و در درست بودن اون شک نکنید...:5:
Printable View
متاسفانه من وقت تبدیلشون رو ندارم، اما خودتون کد ++c رو بنویسید فکر کنم بهتر باشه، پیشنهاد می کنم روی آرایه پیاده سازی کنید، در هر صورت این یکی از الگوریتم ها بود و در درست بودن اون شک نکنید...:5:
این یکی دیگه کامله ولی زید سعی نکن بفهمی چه کار میکنه:31:
کد:#include "stdio.h"
#include "conio.h"
#include "malloc.h"
#include "memory.h"
int f(int k);
int *M,m,n;
bool line=false;
int main(void){
printf("Enter n:");
scanf_s("%d",&n);
printf("Enter m:");
scanf_s("%d",&m);
if(m<2 || m>n){
return 0;
}
M=(int *)malloc(m*sizeof(int));
memset(M,0,m*sizeof(int));
f(1);
_getch();
return 0;
}
int f(int k){
int i=0,j=0;
if(k==m){
for(i=M[k-2]+1;i<=n;i++){
M[k-1]=i;
printf("(");
for(j=0;j<m;j++){
printf("%d ",M[j]);
line=true;
}
printf(")");
}
}
else if(k==1){
for(i=1;i<=n;i++){
M[0]=i;
f(2);
printf("\n");
}
}
else{
for(i=M[k-2]+1;i<=n;i++){
M[k-1]=i;
f(k+1);
if(line){
printf("\n");
line=!line;
}
}
}
return 0;
}