Data una stringa stra E pos E soltanto che definisce l'inizio e la lunghezza del sottoarray. Il compito è generare una sottostringa di dimensione soltanto a partire dall'indice pos .
UN sottostringa è una sequenza contigua di caratteri all'interno di una stringa.
mediocre
Esempi:
Ingresso: Str =il, pos=1, len=2
Produzione: th
Spiegazione: le sottostringhe saranno: , t, h, e, th, he, the.Ingresso: Str = geek, pos = 3, lunghezza = 3
Produzione: per esempio
Spiegazione: le sottostringhe sono: , g, e, e, k, s, ge, ee, ek, ks, gee, eek, ex, geek, eeks, geeks.
Approccio: Il problema può essere risolto seguendo l'idea seguente:
Crea un array di caratteri e inserisci i caratteri a partire da pos all'array di caratteri per generare la sottostringa.
Segui i passaggi seguenti per implementare l'idea:
- Crea un array di caratteri per memorizzare la sottostringa.
- Iterare dalla posizione data per la lunghezza data per generare la sottostringa richiesta.
- Quindi memorizza ciascun carattere nell'array di caratteri e stampa la sottostringa.
Seguire l'illustrazione seguente per una migliore comprensione.
Illustrazione:
Considera una stringa str=abcde , posizione = 2 , solo = 3 .
=> A i = 2 nostro ans = C .
modelli di programmazione java=> A i = 3, il carattere è 'd'.
Quindi aggiungi 'd' alla risposta.
I nostri anni = CD=> A i = 4, il carattere è 'e'.
Quindi aggiungi “e” alla risposta.
Ora ans = cd .
Di seguito è riportata l'implementazione dell'approccio di cui sopra.
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; }> |
attore ekta kapoor
>
>Produzione
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
Complessità temporale: Di
Spazio ausiliario: Di
Utilizzando la funzione strncpy() in C
Possiamo anche usare la funzione strncpy() in C per copiare la sottostringa da una determinata stringa di input. Sono necessari 3 parametri che sono la stringa di destinazione, la stringa di origine insieme all'indice iniziale e la lunghezza della sottostringa che dobbiamo copiare.
Sintassi:
strncpy(stringa_destinazione,stringa_input+pos,len);
Qui pos è l'indice iniziale e soltanto è la lunghezza della sottostringa che vogliamo copiare.
Di seguito è riportato il codice per l'approccio di cui sopra.
nuova linea Python
C
marca di Linux
// 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.> |
>
>Produzione
String: geeksforgeeks substring is: forge String: abcde substring is: abc>
Complessità temporale: Di
Spazio ausiliario: Di