文字列を与える str そして 位置 そして のみ これは部分配列の開始位置と長さを定義します。タスクは、次のサイズの部分文字列を生成することです。 のみ インデックスから始まる 位置 。
あ 部分文字列 文字列内の連続した文字のシーケンスです。
レカ インディアン
例:
入力: Str =the、pos=1、len=2
出力: 番目
説明: 部分文字列は次のようになります: 、t、h、e、th、he、the。入力: Str = オタク、pos = 3、長さ = 3
出力: 例えば
説明: 部分文字列は次のとおりです: 、g、e、e、k、s、ge、ee、ek、ks、gee、eek、ex、geek、eeks、geeks。
アプローチ: この問題は、次のアイデアに従って解決できます。
文字配列を作成し、次から始まる文字を配置します。 位置 文字配列に代入して部分文字列を生成します。
このアイデアを実装するには、次の手順に従います。
- 部分文字列を格納する文字配列を作成します。
- 指定された位置から指定された長さだけ反復して、必要な部分文字列を生成します。
- 次に、各文字を文字配列に格納し、部分文字列を出力します。
よりよく理解するには、以下の図に従ってください。
図:
文字列を考えてみましょう str=abcde 、 位置 = 2 、 のみ = 3 。
=> i = 2 での答え = c 。
=> i = 3 の場合、文字は「d」になります。
したがって、答えに「d」を追加します。
私たちの年 = CD=> i = 4 の場合、文字は「e」になります。
したがって、答えに「e」を追加します。
時間と時間 = CDE 。シルパ・シェティの年齢
以下は、上記のアプローチの実装です。
C
// C implementation of code> #include> #include> // Function to get substr in C> void> getString(> int> pos,> int> len,> int> c,> char> string[])> {> > char> substring[1000];> > while> (c substring = string[pos + c - 1]; c++; } substring = ' '; // Print the result printf(substring); printf('
'); return 0; } // Driver code int main() { int pos, len, c = 0; // Testcase1 char string[14] = 'geeksforgeeks'; // Initialize pos, len i.e., starting // index and len upto which we have to // get substring respectively. pos = 6; len = 5; printf('String: %s ', string); printf('
substring is: '); // Function call getString(pos, len, c, string); // Testcase2 char string2[5] = 'abcde'; pos = 1; len = 3; c = 0; printf('
String: %s ', string2); printf('
substring is: '); // Function call getString(pos, len, c, string2); return 0; }> |
>
Javaローカル日時
>出力
CSSの下線テキスト
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
時間計算量: について
補助スペース: について
C での strncpy() 関数の使用
C の strncpy() 関数を使用して、指定された入力文字列から部分文字列をコピーすることもできます。これには、宛先文字列、ソース文字列、コピーする必要がある部分文字列の開始インデックスと長さの 3 つのパラメータが必要です。
構文:
strncpy(宛先文字列,入力文字列+位置,len);
ここ 位置 は開始インデックスであり、 のみ コピーする部分文字列の長さです。
以下は、上記のアプローチのコードです。
C
// C implementation of code> #include> #include> // Driver code> int> main()> {> > int> pos, len;> > // Testcase1> > char> string[14] => 'geeksforgeeks'> ;> > char> substring[14];> > // Initialize pos, len i.e., starting> > // index and len upto which we have to> > // get substring respectively.> > pos = 6;> > len = 5;> > printf> (> 'String: %s '> , string);> > printf> (> '
substring is: '> );> > // Using strncpy function to> > // copy the substring> > strncpy> (substring,string+(pos-1),len);> > printf> (substring);> > // Testcase2> > char> string2[5] => 'abcde'> ;> > char> substring2[5];> > > pos = 1;> > len = 3;> > printf> (> '
String: %s '> , string2);> > printf> (> '
substring is: '> );> > // Using strncpy function to> > // copy the substring> > strncpy> (substring2,string2+(pos-1),len);> > printf> (substring2);> > return> 0;> }> // This code is contributed by Pushpesh Raj.> |
Javaの休止状態とは何ですか
>
>出力
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
時間計算量: について
補助スペース: について