현재 C에서 단백질 폴딩 프로젝트를 코딩하려고합니다. 여기서 3-4 길이의 문자열을 사용하여 BWB 또는 BBWW라고 말할 수 있습니다. 이 문자열을 2 차원 배열에 저장하고이 문자열과 가능한 모든 조합을 인쇄해야합니다.2-D 배열의 문자열의 다양한 형태를 인쇄하십시오.
문자열의 길이가 n 인 경우 행렬의 길이는 2n입니다. 배열의 중심에 첫 번째 요소를 저장합니다.
내가 지금까지 시도한 내용은 다음과 같습니다. 특정 입력의 모양을 인쇄 할 수 있습니다. 3 개의 문자 문자열에 대해 12 개의 조합을 생성합니다 .4는 36 개의 조합을 생성합니다. . 이와 같이 ..
내 첫 글자가 행렬의 중심에있을 것이므로 두 번째 단어는이 위치의 맨 위, 왼쪽, 오른쪽 아래에있을 수 있으며이 두 번째 1/3에 따라 .. 총
내가 12 개 조합을 것이다 ... 위로, 오른쪽, 왼쪽 또는 3 개 조합에서 할 수 있습니다
나는 그럴 필요있다 지금까지 많은 것을 IED ... 무엇이든지 내가 노력하는 것은 내가 무엇입니까
#include<string.h>
#include<math.h>
#include<stdio.h>
main()
{
int n=3;
//printf("enter the number of inputs:\t");
//scanf("%d",&n);
int i=4;
int temp=pow((i-1),(n-2));
int comb=i*temp;
//printf("total number of combination is : %d",comb);
char str[3]="ABC";
int size=2*n;
int p;
char mat[size][size];
int j,k;
int a=size/2;
int b=size/2;
for(j=0;j<size;j++)
{
for(k=0;k<size;k++)
{
mat[j][k]='*';
}
}
mat[a][b]=str[0];
int q;
int r;
for(r=1;r<3;r++)
{
for(q=1;q<=4;q++)
{
switch(q)
{
case 1:a=a+1;
break;
case 2:a=a-1;
break;
case 3:b=b+1;
break;
case 4:b=b-1;
break;
}
mat[a][b]=str[r];
}
}
for(p=0;p<comb;p++)
{
for(j=0;j<size;j++)
{
for(k=0;k<size;k++)
{
printf("%c",mat[j][k]);
}
printf("\n");
}
printf("\n");
}
printf("total number of combination is : %d",comb);
}
출력이 어떤 도움을 이해할 수있을 것이다
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
******
******
******
***CC*
***C**
******
total number of combination is : 12
입니다!
"조합"을 설명 할 수 있습니까? 입력 문자열의 * 순열 *을 만들려고합니까? –