Siemka, chciałem napisać funkcje która zamienia część tekstu na inną. Przykładowo
Podaj tekst: Ala ma kota
Podaj wstawiany tekst: psa
Podaj indeks w który wstawić nowy wyraz: 7
Napisałem taką funkcje jednak działa ona tylko dla wyrazów o tej samej ilości znaków. Gdy wyraz wstawiany jest dłuższy bądź krótszy to program wywala nowy tekst ale tez niepotrzebne znaki dodatkowe.
#include<string.h>
using namespace std;
void zamiana(char first_txt[],char second_txt[], int indkes){
int dlugosc1 = strlen(first_txt);
int dlugosc2 = strlen(second_txt);
for(int i=0 ; i<dlugosc2; i++){
first_txt[indkes+i] = second_txt[i];
}
cout<<first_txt;
}
int main()
{
char tekst_pierwotny[81];
char tekst_wstawiany[81];
int indeks;
cout<<"podaj pierwszy tekst: ";
cin.getline(tekst_pierwotny,81);
cout<<"Podaj wstawiany tekst: ";
cin.getline(tekst_wstawiany,81);
cout<<"Podaj indeks od ktorego wstawiany jest nowy tekst: ";
cin>>indeks;
zamiana(tekst_pierwotny, tekst_wstawiany, indeks);
return 0;
}```