まったくわかりません……

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ek2459

まったくわかりません……

#1

投稿記事 by ek2459 » 14年前

はじめてここにきました。
さっそく質問なのですが、

キーボードから入力された任意の塩基配列に対して、3 通りある読み枠すべてから、
開始コドン~終止コドンに囲まれた領域を抽出するプログラムを作成せよ。なお、開始コ
ドンは、AUG、終止コドンは、UAG, UGA, UAA の3 通りあるとする。
例:
AAUAUGAUCCAUGGGCUACUAGAUUGAAUAGCCU
候補コード領域1: AUGAUCCAUGGGCUACUAGAU
候補コード領域2: AUGGGCUAC

なにがしたいのかはわかるのですが、どのようにしてプログラムを組めばいいのか、まったく思いつきません。
よろしくお願いしますm(_ _)m

井上

Re: まったくわかりません……

#2

投稿記事 by 井上 » 14年前

1.文字列を strncmp 等で比較しながらループ。
2.1が成功したら、 UAG,UGA,UAAと比較しながらループ。
3.回数+1 後、1へ戻る

1.2のループ終了時の回数を数えてみてはいかがでしょうか?

non
記事: 1097
登録日時: 15年前

Re: まったくわかりません……

#3

投稿記事 by non » 14年前

C言語の質問サイトですから、専門用語を使われるとなんのことだかわかりません。
>例:
>AAUAUGAUCCAUGGGCUACUAGAUUGAAUAGCCU
>候補コード領域1: AUGAUCCAUGGGCUACUAGAU
>候補コード領域2: AUGGGCUAC

例の最初の行が、キーボードから入力された文字列で、次の候補コード領域1と候補コード領域2が検索された答えなのでしょうか?
しかし、答えはほかにもAUGAUCCAUGGGCUACなどもあると思うのですが、そのすべてを抜き出せということなのでしょうか?

さて、ここは丸投げ禁止サイトなので、まず、標準入力(キーボード)から文字列を入力し、配列に格納して、その文字列にAUGが最初に
出現する場所をみつけて、その場所の文字位置か、アドレスを返すようにプログラムを作ってみてください。
井上さんが書かれている1までですね。strstr関数を使ったほうが簡単です。
non

ek2459

Re: まったくわかりません……

#4

投稿記事 by ek2459 » 14年前

井上さん
ありがとうございます。
作ってみてエラーが起きたらまた書きます。

nonさん
ありがとうございます、おっしゃる通りです。

閉鎖

“C言語何でも質問掲示板” へ戻る