Annettu merkkijono str ja pos ja vain joka määrittää alitaulukon alun ja pituuden. Tehtävänä on luoda kokoinen osamerkkijono vain alkaen indeksistä pos .
A alamerkkijono on jatkuva merkkijono merkkijonon sisällä.
aakkosnumero
Esimerkkejä:
Syöte: Str = the, pos = 1, len = 2
Lähtö: th
Selitys: alimerkkijonot ovat: , t, h, e, th, he, the.Syöte: Str = nörtti, pos = 3, pituus = 3
Lähtö: esim
Selitys: alimerkkijonot ovat: , g, e, e, k, s, ge, ee, ek, ks, gee, eek, ex, geek, eeks, geeks.
Lähestyä: Ongelma voidaan ratkaista alla olevan idean avulla:
Luo merkkijono ja laita merkit alkaen pos merkkijonoon luomaan alimerkkijono.
Toteuta idea noudattamalla seuraavia ohjeita:
- Luo merkkijono tallentaaksesi alimerkkijonon.
- Iteroi annetusta paikasta annetulla pituudella luodaksesi tarvittava osamerkkijono.
- Tallenna sitten jokainen merkki merkkijonoon ja tulosta alimerkkijono.
Seuraa alla olevaa kuvaa ymmärtääksesi paremmin.
Kuva:
Harkitse merkkijonoa str=abcde , pos = 2 , vain = 3 .
=> Kohdassa i = 2 meidän ans = c .
regressiolauseke javassa=> Kohdassa i = 3 merkki on 'd'.
Joten lisää 'd' vastaukseen.
Meidän vuosi = CD=> Kohdassa i = 4 merkki on 'e'.
Joten lisää 'e' vastaukseen.
Tunti ans = cde .
Alla on edellä mainitun lähestymistavan toteutus.
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; }> |
panda iterrows
>
>Lähtö
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
Aika monimutkaisuus: Noin
Aputila: Noin
Strncpy()-funktion käyttäminen C:ssä
Voimme myös käyttää strncpy()-funktiota C:ssä kopioimaan alimerkkijono annetusta syötemerkkijonosta. Se vaatii 3 parametria, jotka ovat kohdemerkkijono, lähdemerkkijono sekä aloitusindeksi ja alimerkkijonon pituus, joka meidän on kopioitava.
Syntaksi:
strncpy(kohdemerkkijono,syöttömerkkijono+pos,len);
Tässä pos on aloitusindeksi ja vain on sen alimerkkijonon pituus, jonka haluamme kopioida.
Alla on koodi yllä olevalle lähestymistavalle.
tyyppiset muuttujat java
C
mikä on build-essential ubuntu
// 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.> |
>
>Lähtö
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
Aika monimutkaisuus: Noin
Aputila: Noin