Donada una corda str i pos i només que defineix l'inici i la longitud del subbarrat. La tasca és generar una subcadena de mida només a partir de l'índex pos .
A subcadena és una seqüència contigua de caràcters dins d'una cadena.
sumador sumador complet
Exemples:
Entrada: Str =the, pos=1, len=2
Sortida: th
Explicació: les subcadenes seran: , t, h, e, th, he, the.Entrada: Str = geeks, pos = 3, longitud = 3
Sortida: per exemple
Explicació: les subcadenes són: , g, e, e, k, s, ge, ee, ek, ks, gee, eek, ex, geek, eeks, geeks.
Enfocament: El problema es pot resoldre seguint la idea següent:
Creeu una matriu de caràcters i poseu els caràcters a partir de pos a la matriu de caràcters per generar la subcadena.
Seguiu els passos següents per implementar la idea:
- Creeu una matriu de caràcters per emmagatzemar la subcadena.
- Itera des de la posició donada per a la longitud donada per generar la subcadena necessària.
- A continuació, emmagatzemeu cada caràcter a la matriu de caràcters i imprimiu la subcadena.
Seguiu la il·lustració següent per a una millor comprensió.
Il·lustració:
Considereu una corda str=abcde , pos = 2 , només = 3 .
=> A i = 2 nostres ans = c .
instal·lació de la torxa=> A i = 3, el caràcter és ‘d’.
Així que afegeix 'd' a la resposta.
Els nostres anys = cd=> A i = 4, el caràcter és ‘e’.
Així que afegeix 'e' a la resposta.
Hora ans = cde .
A continuació es mostra la implementació de l'enfocament anterior.
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; }> |
exportar gimp com a jpg
>
>Sortida
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
Complexitat temporal: Sobre
Espai auxiliar: Sobre
Utilitzant la funció strncpy() a C
També podem utilitzar la funció strncpy() en C per copiar la subcadena d'una cadena d'entrada determinada. Pren 3 paràmetres que són la cadena de destinació, la cadena d'origen juntament amb l'índex inicial i la longitud de la subcadena que hem de copiar.
Sintaxi:
strncpy(cadena_destinació,cadena_entrada+pos,len);
Aquí pos és l'índex inicial i només és la longitud de la subcadena que volem copiar.
A continuació es mostra el codi de l'enfocament anterior.
l'actriu índia rani mukerji
C
inicialització de primavera
// 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.> |
>
>Sortida
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
Complexitat temporal: Sobre
Espai auxiliar: Sobre