logo

Gaukite poeilelę C

Duota eilutė str ir poz ir tik kuri apibrėžia pogrupio pradžią ir ilgį. Užduotis yra sugeneruoti dydžio eilutę tik pradedant nuo indekso poz .

A poeilutė yra gretima simbolių seka eilutėje.

kat timpf ūgis

Pavyzdžiai:



Įvestis: Str =, padėtis = 1, len = 2
Išvestis: th
Paaiškinimas: poeilutės bus: , t, h, e, th, he, the.

Įvestis: Str = geeks, padėtis = 3, ilgis = 3
Išvestis: pvz
Paaiškinimas: poeilutės yra: , g, e, e, k, s, ge, ee, ek, ks, gee, eek, ex, geek, eeks, geeks.

Metodas: Problemą galima išspręsti pagal toliau pateiktą idėją:

Sukurkite simbolių masyvą ir įdėkite simbolius pradedant nuo poz į simbolių masyvą, kad sugeneruotumėte poeilelę.

Norėdami įgyvendinti idėją, atlikite šiuos veiksmus:

  • Sukurkite simbolių masyvą, kad išsaugotumėte poeilelę.
  • Pakartokite iš nurodytos pozicijos nurodyto ilgio, kad sugeneruotumėte reikiamą eilutę.
    • Tada išsaugokite kiekvieną simbolį simbolių masyve ir atspausdinkite eilutę.

Norėdami geriau suprasti, vadovaukitės toliau pateikta iliustracijomis.

Iliustracija:

Apsvarstykite eilutę str=abcde , poz = 2 , tik = 3 .

=> Esant i = 2 mūsų ans = c .

dalinis išvestinis simbolis lateksas

=> Kai i = 3, simbolis yra „d“.
Taigi prie atsakymo pridėkite „d“.
Mūsų metai = cd

=> Kai i = 4, simbolis yra „e“.
Taigi prie atsakymo pridėkite „e“.
Valanda ans = cde .

Žemiau pateikiamas pirmiau minėto metodo įgyvendinimas.

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; }>

įdėti į klaviatūrą
>

>

Išvestis

String: geeksforgeeks substring is: forge String: abcde substring is: abc>

Laiko sudėtingumas: Apie
Pagalbinė erdvė: Apie

Strncpy() funkcijos naudojimas C

Taip pat galime naudoti funkciją strncpy () C, norėdami nukopijuoti poeilelę iš nurodytos įvesties eilutės. Tam reikia 3 parametrų, kurie yra paskirties eilutė, šaltinio eilutė kartu su pradžios indeksu ir poeilutės, kurią turime nukopijuoti, ilgis.

Sintaksė:

strncpy(paskirties_eilutė,įvesties_string+pos,len);

čia poz yra pradinis indeksas ir tik yra poeilutės, kurią norime nukopijuoti, ilgis.

Žemiau yra pirmiau nurodyto metodo kodas.

aktorius ranbir kapoor amžiaus

C




Java programinės įrangos modeliai
// 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.>

>

>

Išvestis

String: geeksforgeeks substring is: forge String: abcde substring is: abc>

Laiko sudėtingumas: Apie
Pagalbinė erdvė: Apie