Deja il faudrait nous préciser le langage utilisé. Apparemment c'est du C (le code de kader n'en est pas).
Si c'est du C essay quelque chose du genre :
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
char *infinitif="enfoncer";
char *radical;
char *terminaison;
char buffer[64];
unsigned int i,n=strlen(infinitif);
char present[6][6]= {"çais","çais","çait","ions","iez","çaient"};
if (n<3){
printf("c'est quoi ce verbe ??\n");
return -1;
}
radical=(char *)malloc((n-2)*sizeof(char));
terminaison=(char *) malloc(4*sizeof(char));
for(i=0;i<n-2;++i){
radical[i]=infinitif[i];
}
for(i=n-2;i<=n;++i){
terminaison[i]=infinitif[i];
}
if(strcmp(terminaison,"cer")!=0){
printf("le verbe %s ne finit pas par cer\n",infinitif);
return -2;
}
for(i=0;i<6;++i){
buffer="";
strcat(buffer,radical);
strcat(buffer,present[i]);
printf("%s\n",buffer);
}
return 0;
}
Ou truc dans le genre... Note que pour extraire des sous chaines tu aurais pu utiliser strncpy mais c'est pas forcement plus simple. La méthode simple ça aurait été de faire ça en c++ avec la classe std::string...
Bonne chance