Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct{
- char *scelte;
- int num_scelte;
- }livello;
- int princ_molt(int pos,livello *val,int n,char *sol,int count,FILE *fout);
- int main(int argc, const char * argv[]) {
- FILE *fin,*fout;
- livello *val;
- char *sol,stringa[4];
- int i,num;
- if((fin=fopen("file1.txt","r"))==NULL){
- printf("errore apertura file1\n");
- return -1;
- }
- if((fout=fopen("file2.txt","w"))==NULL){
- printf("errore apertura file2\n");
- return -2;
- }
- fscanf(fin,"%d",&num);
- val=malloc(num *sizeof(livello));
- sol=malloc(num *sizeof(char));
- for(i=0;i<num;i++){
- fscanf(fin,"%s",stringa);
- val[i].num_scelte=strlen(stringa);
- val[i].scelte=malloc(val[i].num_scelte *sizeof(char));
- }
- return 0;
- }
- int princ_molt(int pos,livello *val,int n,char *sol,int count,FILE *fout){
- int i;
- if(pos>=n){
- for(i=0;i<n;i++)
- fprintf(fout,"%c ",sol[i]);
- printf("\n");
- return count +1;
- }
- for(i=0;i<val[pos].num_scelte;i++){
- sol[pos]=val[pos].scelte[i];
- count=princ_molt(pos+1,val,n,sol,count,fout);
- }
- return count;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement