![]() |
Mòdul
6
![]() |
Fonaments de
Programació. Llenguatge C/C++![]() |
Pràctica ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
Pràctica
d'ampliació ![]() |
Inserir un text
En aquesta pràctica implementarem la funció d'inserir una cadena en una altra.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Desenvolupament de la pràctica
Definiu un projecte nou anomenat m6p05 i afegiu-li un arxiu de font C/C++ anomenat m6p05.cpp. Escriviu el següent codi:
Explicació del programa En aquest programa s'implementa la funció inserir que té el protocol: char *inserir(char *cad1, int n, char *cad2) Aquesta funció insereix una cadena en una posició determinada d'una altra cadena. Per exemple, si la cadena cad1 conté: "Això és una prova" i la cadena cad2 conté: "no ", la funció inserir(cad2,5, cad1) farà que cad1 sigui: "Això no és una prova":
La inserció es fa en dues fases: la primera fase desplaça els caràcters de cad1 que hi ha després de la posició n un nombre de posicions igual a la mida de la cadena cad2 (pos)
La segona fase reemplaça els caràcters de les posicions n i següents de la cadena cad1 per la cadena cad2.
En la següent figura es mostra les dues fases d'aquesta inserció:
Aquesta funció no fa comprovació de límits. En el cas que la suma de les mides de cad1 i cad2 fos superior a la mida màxima de cad1 es produiria un error en temps d'execució.
|