holas de nuevo este ejercico lo tengo casi hecho el unico problema es que quiero que asigne un espacio si despues de la coma no lo tiene pero despues de eso viene el problema porque copia la frase con el 1er caracter borrado x el espacio como puedo arreglarlo?
tengo que tener una frase formada x palabras separadas entre si x blancos, comas o puntos y comas, ingresar una palabra y agregarla a la frase original despues de la primera coma.
suponer que en la frase ingresada existen 1 o mas comas separando palabras.
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main (void)
{
int lf,lr,pos,si;
char frase[100];
char rm[100];
char aux[100]={0};
char esp=' ';
printf ("Introduce palabra ");
gets(frase);
printf ("remplazo ");
gets(rm);
lf=strlen(frase);
lr=strlen(rm);
for(int j=0;j<frase[j]!='\0'; j++)
{
if(frase[j]==',')// si en la frase despues de la coma no pongo espacio copia mal.......
{
int ct=0;
pos=j+2;
si=j+1;
if(frase[j+1]!=' ')//si despues de la coma no hay un espacio lo agrego pero elimina el 1er caracter de mi frase
frase[j+1]=esp; // los demas caracateres tendria que correrlos a la derecha
for(int x=si;frase[x]!='\0';x++)
{
aux[ct]=frase[x]; // esto sale bien
ct++; // pero si agregue espacio en el if anterior aparece con el 1er caracter borrado x el espacio
}
aux[ct]='\0';
printf("%s \n",aux);
for(;;)
{
if(pos>0)
{
for(int i=pos;i<pos+lr;i++)
{
frase[i]=rm[i-pos];
}
frase[i]='\0';
}
break;
}
}
}
strcat(frase,aux); //concatena mi frase y la nueva palabra añadida con lo que queda de la frase despues de la coma
printf("%s",frase);
getch();
}