いちばん失敗した人決定戦

一次元配列に下記の様な形で文字列が入っています。
Q1)この文字列を検索して、そのインデックスを得る方法を
お教え頂けますと大変有難いです。
注)例えば、lll_doを検索した場合は、0が返り、lll_reを検索した場合は1が返える
様にしたいと思います。
=====
'lll_do', 'lll_doh', 'lll_re', 'lll_reh', 'lll_mi', 'lll_fa','lll_fah', 'lll_so','lll_soh', 'lll_ra' ,'lll_rah' ........... ,'lll_si'
=====
以上お手数ですが宜しくお願いします。

質問者からの補足コメント

  • お世話になります。
    pythonは下記の形で検索できます。
    A[frq_name.index(name)]
    注)frq_nameはストリング格納の配列です
    Aは、別配列でindexにてアクセスできます。
    以上、宜しくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/05/22 14:00

A 回答 (4件)

    • good
    • 0

> 例えば、lll_doを検索した場合は、0が返り、lll_reを検索した場合は1が返える


> 様にしたいと思います。

?
lll_reを検索した場合は2が返るべきなんじゃないの?
1を返すのはlll_dohを検索した場合なんじゃないかしらん。
    • good
    • 0

まずその一元配列を初期化するコードを補足してみては。

回答するとして、どういうデータ構造を希望しているかわかりにくいので。

char *a[] とかList<string>とか。
    • good
    • 0

> Q1)この文字列を検索して、そのインデックスを得る方法を



この「インデックスを得る」とはどういうことかわかりませんが。。。


> 注)例えば、lll_doを検索した場合は、0が返り、lll_reを検索した場合は1が返える
> 様にしたいと思います。

この例だけを見るなら処理手順は以下かと。

1.配列の長さを計る。
2.配列の先頭(配列の位置指定0)から最後(配列の長さ-1)まで以下の処理を繰り返す。
 2-1 値がlll_doなら戻り値0で終了する。
 2-2 値がlll_reなら戻り値1で終了する。
3.戻り値0,1以外(一般的には-1ですか)で終了する。

で、検索したい文字列を指定する(=入力する)のであれば「見つかった」、「見つからない」がリターン値で、インデックスと言われる物は「見つかったらこの変数にインデックス値を入れて」と変数のポインターを渡すのですかね。
「インデックスを得る」の意味するところがわかりませんためチンプンカンプンの回答でしたらゴメンなさい。

あ!
インデックスというのが配列の位置のことを言われているのでしたら上記の2で使用する「処理対象とする配列の位置を保持する変数」の値をリターン値にすればよいだけです。
この変数を例えば i とするならfor文は for (i=0; i<length-1; i++) とかにするのが一般的で。。。

参考まで。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!