serzh9393
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору попробуйте кто нибудь вот это вбейте , будет пахать? #include <stdio.h> #include <malloc.h> int *numb,*numb_selected,*numb_new; int g=0; FILE *f; int do_combination(int k) { if (k==g) { for (int i=0;i<g;i++) fprintf (f,"%d ",numb_new[i]); fprintf (f,"\n"); return 0; } for(int i=0;i<g;i++){ if (numb_selected[i]==0){ numb_selected[i]=1; numb_new[k]=numb[i]; do_combination(k+1); numb_selected[i]=0; } } return 0; } int main(){ int tmp; f=fopen("intup.txt","r"); for (;fscanf(f,"%d",&tmp)==1;){ g++; numb=(int*)realloc(numb,g*sizeof(int)); numb_selected[g-1]=0; numb_new=(int*)realloc(numb_new,g*sizeof(int)); } fclose(f); f=fopen("output.txt","w"); do_combination(0); fclose(f); free(numb); free(numb_selected); free(numb_new); return 0; } |