Saturday, May 22, 2010

Can some1 fix the folowing prog in C#. I dono that much programming.Plz compile n send the error free version?

#include%26lt;stdio.h%26gt;


#include%26lt;conio.h%26gt;


#include%26lt;string.h%26gt;


#define max 1000


#define IN 1


#define OUT 0





int findindex(char *);


void rem_new(char *);


void classification1(char *,int);


void classification5(char *,int);


void searchpost(char *,char,char *);


void searchpre(char *,char,char *);


FILE *in, *out;





char Non_polar[]={'G','A','V','L','I','P','M'...


char Polar[]={'S','T','N','Q','C','Y','\0'};


char Acidic[]={'D','E','\0'};


char Basic[]={'K','R','H','\0'};


char previous,next;


int pre=0,post=1;


int previous_flag=0,next_flag=0;


char arrayprevious[15],arraynext[15];


char infile[20]="",outfile[20]="";





char class5[8][12]={ {'V','I','L','\0'},


{'A','G','S','T','\0'},


{'P','N','D','V','A','G','S','T','\0'},


{'F','Y','W','H','\0'},


{'A','G','V','I','L','M','F','Y','W','H'...


{'D','E','K','H','R','\0'},


{'S','T','N','D','Y','K','E','W','H','R'...


{'H','K','R','\0'},


};





char


fullname[][20]={"Aliphatic","Tiny","Sm...


char previous1,previous2,next1,next2;








int main(void)





{





char *name,*seq,*tmp;


char *ptr;


int ch,flag=OUT;


char *blank="-";


int k=0,k1=0;





clrscr();





name=((char *)malloc(1000*sizeof(char)));


seq=((char *)malloc(5000*sizeof(char)));


tmp=((char *)malloc(1000*sizeof(char)));





if(name==NULL||seq==NULL||tmp==NULL)


{


printf("Desired Memory has not been allocated; exiting\n");


exit(1);


}





printf("Enter the name of input file\n");


scanf("%s",infile);


printf("Enter the name of output file\n");


scanf("%s",outfile);





if ((in = fopen(infile, "r"))== NULL)


{


printf("Cannot open input file.\n");


return 1;


}





if ((out = fopen(outfile, "w+"))== NULL)


{


printf("Cannot open output file.\n");


return 1;


}





strcpy(name,"");


strcpy(seq,"");


strcpy(tmp,"");





while ((ch=fgetc(in))!=EOF)


{


if( ch!='%26gt;')


{


ungetc(ch,in);


fgets(tmp,max,in);


strcat(seq,tmp);


flag=IN;


}


else if (flag==IN)


{





rem_new(seq);


k=findindex(seq);


flag=OUT;


strcpy(seq,"");


ungetc(ch,in);


}


else {


fgets(name,max,in);


ptr=strtok(name," ");


fprintf(out,"%s",ptr);


ptr=strtok(NULL,"[");


ptr=strtok(NULL,"]");


if (ptr==NULL)


fprintf(out,"\t%8s\t",blank);


else


fprintf(out,"\t%s\t",ptr);


fprintf(out,"Location\tPattern\tOne Residue


Classification\t\t\tPattern\tTwo Residue Classification\n");





}





}





if (flag==IN)


{





rem_new(seq);


k1=findindex(seq);


flag=OUT;


strcpy(seq,"");


}





fclose(in);


fclose(out);





free(name);


free(tmp);


free(seq);





return 0;


}





int findindex(char *seq)





{


int i=0,j=0,count=0;





for(i=0;seq[i]!='\0';i++)


{


j=i;


if(seq[j]=='K')


{





count++;


fprintf(out,"\t");


fprintf(out," \t");


fprintf(out,"%d K %d \t",count,j+1);


classification1(seq,j);





fprintf(out,"%s | K | %s\t\t\t",arrayprevious,arraynext);


strcpy(arrayprevious,"");


strcpy(arraynext,"");


previous_flag=0;


next_flag=0;


classification5(seq,j);





}


}





return j;


}





void rem_new(char *seq)





{


int i=0,j=0;





for(i=0;seq[i]!='\0';i++)


{


if (seq[i]=='\n')


{


j=i;


while(seq[j]!='\0')


{


seq[j]=seq[j+1];


j++;


}


seq[j]='\0';


}


}


}





void classification1(char *seq,int k)





{





previous=seq[k-1];


next=seq[k+1];





if(k==0)


previous='\b';





fprintf(out,"%cK%c\t",previous,next);





searchpre(Non_polar,previous,"Non-polar"...


searchpre(Polar,previous,"Polar");


searchpre(Acidic,previous,"Acidic");


searchpre(Basic,previous,"Basic");





searchpost(Non_polar,next,"Non-polar");


searchpost(Polar,next,"Polar");


searchpost(Acidic,next,"Acidic");


searchpost(Basic,next,"Basic");


}





void searchpre(char *arr,char value,char *name)





{


int i;


if(previous_flag==0)


{


for(i=0;arr[i]!='\0';i++)


if(arr[i]==value)


{


previous_flag=1;


strcpy(arrayprevious,name);





break;


}


}


}





void searchpost(char *arr,char value,char *name)





{


int i;


if(next_flag==0)


{


for(i=0;arr[i]!='\0';i++)


if(arr[i]==value)


{


next_flag=1;


strcpy(arraynext,name);





break;


}


}


}





void classification5(char *seq,int k)





{


int i,j,c1=0,c2=0,c3=0,c4=0,count1=0,count2=...


int index1[15],index2[15],index3[15],index4[...


int preindex[11],postindex[11];





previous1=seq[k-1];


previous2=seq[k-2];


next1=seq[k+1];


next2=seq[k+2];





if(k==0)


{


previous1='\b';


previous2='\b';


}





if(k==1)


{


previous2='\b';


}





fprintf(out,"%c%cK%c%c\t",previous2,prev...





for(i=0;i%26lt;8;i++)


for(j=0;class5[i][j]!='\0';j++)


{


if(class5[i][j]==previous1)


index1[c1++]=i;


if(class5[i][j]==previous2)


index2[c2++]=i;


if(class5[i][j]==next1)


index3[c3++]=i;


if(class5[i][j]==next2)


index4[c4++]=i;





}





for(i=0;i%26lt;c1;i++)


for(j=0;j%26lt;c2;j++)


if(index1[i]==index2[j])


preindex[count1++]=index1[i];





for(i=0;i%26lt;c3;i++)


for(j=0;j%26lt;c4;j++)


if(index3[i]==index4[j])


postindex[count2++]=index3[i];








if ((count1==0)%26amp;%26amp;(count2==0))


fprintf(out,"* |K| *");


else if ((count1==0)%26amp;%26amp;(count2!=0))


for(i=0;i%26lt;count2;i++)


fprintf(out,"* |K| %s


%s,",fullname[postindex[i]],fullname[p...


else if ((count1!=0)%26amp;%26amp;(count2==0))


for(i=0;i%26lt;count1;i++)


fprintf(out,"%s %s |K|


*,",fullname[preindex[i]],fullname[pre...





for(i=0;i%26lt;count1;i++)


for(j=0;j%26lt;count2;j++)


fprintf(out,"%s %s |K| %s


%s,",fullname[preindex[i]],fullname[pr...


fprintf(out,"\n");





}

Can some1 fix the folowing prog in C#. I dono that much programming.Plz compile n send the error free version?
OMG !!!!!!!!!!!!!!!!!


No comments:

Post a Comment