¿Algo como esto?:
Se puede mejorar creando un array cadenaIzda que guarde el resto de la cadena, ya que como está sólo la imprimo. ¿Te animas?.
Como ves puedes incluir en un sólo código ambos casos. No lo he hecho por pereza xD!.
Saluditos! ..... !!!!
Citar
Cuantos caracteres quieres extraer?.Inferior a 9 :6
Cadena original leosansan
Se ha extraido:sansan
Y queda la cadena : leo
Código (cpp) [Seleccionar]
#include <stdio.h>
int main(void)
{
int ch,extraer,longitud,i,j,flag;
char cadena[]="leosansan";
for (i=0;cadena[i] ;i++);
longitud=i;
do {
printf("Cuantos caracteres quieres extraer?.Inferior a %d :",longitud);
fflush(stdout);
flag=(scanf("%d", &extraer));
while( (ch = getchar()) != '\n' );
}while (extraer > longitud ||flag==0);
char cadenaDcha[longitud-extraer+1];
for (i=0,j=0; i<longitud-extraer; i++,j++)
cadenaDcha[j]=cadena[i];
cadenaDcha[j]='\0';
printf("\nCadena original %s\n",cadena);
printf("\nSe ha extraido:");
for (i=longitud-extraer; i<longitud; i++)
printf("%c", cadena[i]);
printf("\n\nY queda la cadena : %s\n", cadenaDcha);
return 0;
}
}
Se puede mejorar creando un array cadenaIzda que guarde el resto de la cadena, ya que como está sólo la imprimo. ¿Te animas?.
Como ves puedes incluir en un sólo código ambos casos. No lo he hecho por pereza xD!.
Saluditos! ..... !!!!
