Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include <string.h>
- #include <ctype.h>
- int pozicije[1000];
- int counter;
- char sekvenca [1000];
- char staTrazis[1000];
- void jelSekvenca(int odakle, char sekvenca [], char g []);
- char *zamjena(char *sek, char *stara, char *nova1);
- FILE *genes;
- int main()
- {
- int i,j,duzina;
- char name[10];
- printf("Enter name of a gene: ");
- gets(name);
- printf("Enter a sequence: ");
- gets(sekvenca);
- duzina=strlen(sekvenca);
- printf("%d",duzina);
- if (strlen(sekvenca)%2==0)
- {
- strncat(sekvenca,"k",1);
- }
- for(i=0;i<=duzina;i++)
- {
- sekvenca[i]=toupper(sekvenca[i]);
- }
- char *newstr=NULL;
- char g [1000] = "C";
- char konj [10000];
- strcpy(konj,sekvenca);
- char *p = g;
- //system("cls");
- genes=fopen("genes.txt","a+");
- fprintf(genes,"%s",name);
- for(i = 401; i < 421;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 421; i < 441;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 441; i < 461;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 461; i < 481;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 481; i < 501;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 501; i < 521;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 521; i < 541;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 541; i < 561; i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 561; i < 581;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- for(i = 581; i < 601;i++)
- {
- jelSekvenca(i,konj,g);
- }
- fprintf(genes,"\t%d",counter);
- counter=0;
- fprintf(genes,"\n");
- return 0;
- }
- void jelSekvenca(int odakle, char sekvenca [], char g [])
- {
- bool jest = true;
- int i;
- for(i = odakle; i < strlen(g) + odakle; i++)
- {
- if(!jest) break;
- if(sekvenca[i] != g[i-odakle])
- jest = false;
- }
- if(jest)
- {
- pozicije[counter] = odakle;
- counter++;
- }
- }
- char *zamjena(char *sek, char *stara, char *nova1)
- {
- char *ret;
- int i, count = 0;
- int novaduzina = strlen(nova1);
- int staraduzina = strlen(stara);
- for (i = 0; sek[i] != '\0'; i++)
- {
- if (strstr(&sek[i], stara) == &sek[i])
- {
- count++;
- i += staraduzina - 1;
- }
- }
- ret = (char *)malloc(i + count * (novaduzina - staraduzina));
- if (ret == NULL)
- exit(EXIT_FAILURE);
- i = 0;
- while (*sek)
- {
- if (strstr(sek, stara) == sek)
- {
- strcpy(&ret[i], nova1);
- i += novaduzina;
- sek += staraduzina;
- }
- else
- ret[i++] = *sek++;
- }
- ret[i] = '\0';
- return ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement