My issue
Why I will getting runtime error even I solved it
My code
#include <stdio.h>
#include<string.h>
void main()
{
int t,n,i;
char s[100];
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
scanf("%s",&s);
for(i=0;i<strlen(s);i+=2)
{
if((s[i]=='0') && (s[i+1]=='0'))
printf("A");
if((s[i]=='0') && (s[i+1]=='1'))
printf("T");
if((s[i]=='1') && (s[i+1]=='0'))
printf("C");
if((s[i]=='1') && (s[i+1]=='1'))
printf("G");
}
printf("\n");
}
return 0;
}
Learning course: Strings using C
Problem Link: Practice Problem in - CodeChef
@srivarshini04
the max size of the character array would be 1000 instead of 100.
include <stdio.h>
include <string.h>
void encodeSequence(char binaryString, int length) {
for (int i = 0; i < length; i += 2) {
if (binaryString[i] == ‘0’ && binaryString[i + 1] == ‘0’) {
printf(“A”);
} else if (binaryString[i] == ‘0’ && binaryString[i + 1] == ‘1’) {
printf(“T”);
} else if (binaryString[i] == ‘1’ && binaryString[i + 1] == ‘0’) {
printf(“C”);
} else if (binaryString[i] == ‘1’ && binaryString[i + 1] == ‘1’) {
printf(“G”);
}
}
printf(“\n”);
}
int main() {
int T, N;
scanf(“%d”, &T);
for (int t = 0; t < T; t++) {
scanf("%d", &N);
char binaryString[N + 1];
scanf("%s", binaryString);
// Ensure the input string length is even
if (strlen(binaryString) != N) {
printf("Invalid input. Length mismatch!\n");
return 1;
}
encodeSequence(binaryString, N);
}
return 0;
}
//solution buddy//
include
include
using namespace std;
string encodeDNA(string s) {
string encodedSequence = “”;
for (int i = 0; i < s.length(); i += 2) {
if (s[i] == '0') {
if (s[i + 1] == '0')
encodedSequence += 'A';
else
encodedSequence += 'T';
} else {
if (s[i + 1] == '0')
encodedSequence += 'C';
else
encodedSequence += 'G';
}
}
return encodedSequence;
}
int main() {
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
string binaryString;
cin >> binaryString;
string encodedSequence = encodeDNA(binaryString);
cout << encodedSequence << endl;
}
return 0;
}
1 Like