Posez votre question Signaler

[C]Conjugaison de verbes

cloé - Dernière réponse le 22 févr. 2011 à 16:26
salut, SVP c'est urgent aidez moi
je vous jure que cette programmatio est trop dur pour un debutant, j'ai essayeré mais..........
j'ai tp trés urgent a faire il s'agit de la prorammation en c sur les chaines de caractéres
il faut faire un programme qui conjugue un verbe du 1er groupe different temps de l'indicatifs en prennant les cas speciaux.
Lire la suite 
Réponse
+18
moins plus
Vous risquez pas d'arriver a conjuguer correctement en C, vous arrivez même pas a écrire normalement avec un clavier ...
Ajouter un commentaire
Réponse
+5
moins plus
je t'ai fait rapidement le présent pour les cas spéciaux utilise des switch en partant du troisieme caractere en partant de la fin.
la lettre "g" va poser pbs :)

#include <stdio.h>
#include <string.h>


#define MAX 20


int main(){

char verbe[MAX]="";
int i=0, taille=0;

while(1){
printf("\nEntrer le verbe\n");
scanf("%s",verbe);
//tu mettras ici ton switch
taille=strlen(verbe);
printf("longueur de %d\n",taille);
printf("je ");
for(i=0;i<taille-1;i++){
printf("%c",verbe[i]);
}
printf("\ntu ");
for(i=0;i<taille-1;i++){
printf("%c",verbe[i]);
}
printf("s\n");
printf("il ");
for(i=0;i<taille-1;i++){
printf("%c",verbe[i]);
}
printf("\nNous ");
for(i=0;i<taille-2;i++){
printf("%c",verbe[i]);
}
printf("ons\n");
printf("Vous ");
for(i=0;i<taille-1;i++){
printf("%c",verbe[i]);
}
printf("z\n");
printf("ils ");
for(i=0;i<taille-1;i++){
printf("%c",verbe[i]);
}
printf("nt\n");

}

return 0;
}
cloé- 22 févr. 2006 à 17:49
aidez moi SVPje vous en prix c'est trés trés urgent

j'ai pas su mettre les cas speciaux et les voici:
-quad le vebe commence par une voyelle(mettre l'apostrophe dans je)
-quand le verbe se termine avec un "g" il faut ajouter la "e" avec les pronom personnelle nous
-et quand le verbes se termine avec un "c" lfaut ajouter la cédi "ç".
svp c tres tres urgent je serai reconnaissante
merci d'avance @+
Répondre
bacchuss 1181Messages postés samedi 13 décembre 2003Date d'inscription 6 avril 2009 Dernière intervention - 22 févr. 2006 à 17:54
Salut,

hum, c'est pas très compliqué avec le code que t'a donné Loneliness.

il te suffit de faire des tests (if) sur ta chaine de caractere et de la modifier en conséquence...

Courage !!!
Répondre
cloé- 22 févr. 2006 à 18:07
stp bacchuss aide moi j'ai trop de travail je les rend 2m1 et je suis entraine de faire un autre plus compliquer et il faut que je fasse apres leurs deux algorithme et leurs compt rendu,mon binome a fait un accident et je suis bloqué toute seule . je serai reconnaissante.
Répondre
sasa- 15 févr. 2011 à 14:09
c est trop bien et encore merci
Répondre
rafe- 22 févr. 2011 à 16:26
merci grace avous j"ai reussi mon contero
Répondre
Ajouter un commentaire
Réponse
+3
moins plus
ne soyez pas si dur avec elle, nous etions et nous sommes encore des debutants, sur autres forum on parle d'autres choses plus compliquées c sûr mais là au moins, mais tu me promets cloé que tu vas bien essayer de comprendre ce code stp, et que tu traitera les deux qui ne sont pas pris en compte comme l' ou encore ç
bon voillà ce que j'ai fait :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

char * dico [45]={"chamaller","donner","former","retourner","manger","essuyer","envoyer","monnayer","effrayer","chanter","jeter","expulser","remanger","nager"};
char *term [6][3]={{"e","es","e"},{"ons","ez","ent"},{"e","es","e"},{"eons","ez","ent"},{"ie","ies","ie"},{"yons","yez","ient"}};
char * prenom[6]={"je","tu","il","nous","vous","ils"};
char voyelles[6]={'a','e','i','o','u','y'};



/*Precar */
char * precar (char * s){
int i=0;
int l = strlen(s);
while(((s[i]<'A')||(s[i]>'Z'))&&((s[i]<'a')||(s[i]>'z'))&&(i < l))
{
i++;
}
if((s[i]==9)||(s[i]==32))
printf("cette chaine ne contient que d'espaces et tabulations\n");
/*printf("\"precar\" dit que l'adrs du 1er char est %p \n",(s+i));*/
return (s+i);

}
int carac_valide(char c)
{
if(((c <'A')||(c >'Z'))&&((c <'a')||(c >'z')))
return 0;
return 1;
}

char precar_bis(char *s)
{
char *c;
char f;
c=precar(s);
f=(*c);
printf("le caractere le premier est %c\n",f);
return f;
}
char * dercar (char * s){

int l=0;
l=strlen(s);
while(((s[l]<'A')||(s[l]>'Z'))&&((s[l]<'a')||(s[l]>'z'))&&(l>0))
{
l--;
}
if((s[l]==9)||(s[l]==32))
printf("cette chaine ne contient que d'espaces et tabulations\n");

/*printf("\"precar\" dit que l'adrs du 1er char est %p \n",(s+l));*/
return (s+l);

}
char dercar_bis(char *s)
{
char *c;
char f;
c=dercar(s);
f=(*c);
printf("le caractere le premier est %c\n",f);
return f;

}
/*
int aller(char * s)
{
if((s[0]=='a')&&(s[1]=='l')&&(s[2]=='l')&&(s[3]=='e')&&(s[4]=='r'))
return 1;
else
return 0;


}
*/
int valide(char * s)
{

char * p;
char * r;
int i=0;

p=precar(s);

r=dercar(s);
if(((*r)=='r')&&((*(r-1))=='e'))
{
if(((*p)=='a')&&((*(p+1))=='l')&&((*(p+2))=='l')&&((*(p+3)=='e')&&((*(p+4))=='r')&&((p+4)==r)))
{
printf("nous rejetons le verbe aller avec regret \n");
return 0;
}

}
printf("ce verbe est du permier groupe\n");
return 1;

}

char * copier_verbe(char *s)
{
int i=0;
char * dest=(char *)malloc(455*sizeof(char));
char * p;
p=precar(s);
while(carac_valide(*(p+i)))
{
(*(dest+i))=(*(p+i));
i++;
}
dest[i]='\0';
return dest;
}
int verbe_dans_dico(char*s)
{
int i=0;
while(dico[i]!='\0')
{
if(!strcmp(copier_verbe(s),dico[i]))
return 1;
i++;
}
return 0;
}
char * saisie()
{
char * verbe;
verbe = (char *)malloc(343 * sizeof(char));
printf("please enter un verbe du premier groupe\n");
verbe=gets(verbe);
printf("vous voulez conjuger le verbe : %s OK! \n",copier_verbe(verbe));
return verbe;
}



int est_une_voyelle(char c)
{
int i;
for(i=0;i<6;i++)
{
if(voyelles[i]== c)
return 1;
}
return 0;
}

char * concat(char * dest, char *src, int n)
{
int i=0;
int j=0;
int long1,long2;
char * res;
long1=strlen(dest);
long2=strlen(src);
res=(char *)malloc((long1 + long2+1) * sizeof(char));
while(i<= (long1-n))
{
res[i]=dest[i];
i++;
}
while(src[j]!='\0')
{
res[long1-n+j]=src[j];
j++;
}
res[long1-n+j]='\0';
return res;
}
void premier_cas(char *verbe)
{
int j=0;

for(j=0;j<3;j++)
{
printf("%s %s \n",(*(prenom+j)),concat(copier_verbe(verbe),term[0][j],2));
}
for(j=0;j<3;j++)
{
printf("%s %s\n",(*(prenom+j+3)) ,concat(copier_verbe(verbe),term[1][j],2));
}

}
void deuxieme_cas(char * verbe)
{

int j=0;

for(j=0;j<3;j++)
{
printf("%s %s \n",(*(prenom+j)),concat(copier_verbe(verbe),term[2][j],2));
}
for(j=0;j<3;j++)
{
printf("%s %s\n",(*(prenom+j+3)) ,concat(copier_verbe(verbe),term[3][j],2));
}

}
void troisieme_cas(char * verbe)
{
int j=0;

for(j=0;j<3;j++)
{
printf("%s %s \n",(*(prenom+j)),concat(copier_verbe(verbe),term[4][j],3));
}
for(j=0;j<3;j++)
{
printf("%s %s\n",(*(prenom+j+3)) ,concat(copier_verbe(verbe),term[5][j],3));
}
}
void conjugaison (char * verbe)
{
char *r;
r=dercar(verbe);
if(*(r-2)=='g')
deuxieme_cas(verbe);
else
if(est_une_voyelle((*(r-3))))
troisieme_cas(verbe);
else
premier_cas(verbe);

}

void main ()
{

char * s =saisie();
printf("%s fait %d caracteres\n",copier_verbe(s),strlen(copier_verbe(s)));
if(valide(s))
{
if(verbe_dans_dico(s))
{
printf("le verbe est dans notre dictionnaire, debut conjugaison:\n");
conjugaison(s);
}
else
printf("le verbe n'est pas dans notre dictionnaire A+!\n");
}

/**********************TEST DES TROIS TABLEAUX CI-DESSOUS ****************************/
/*
for(i=0;i<6;i++)
printf("les voyelles sont: %c\n",voyelles[i]);
*/
/*
for(i=0;i<6;i++)
printf("les prenoms sont: %s\n",(*(prenom+i)));


for(i=0;i<6;i++)
{
for(j=0;j<3;j++)
{
printf("term[%d][%d] = %p\n",i,j,&term[i][j]); //affiche l'adresse du terme i j
printf("term[%d][%d] = %s\n",i,j,*(&term[i][j])); //affiche le continue de l'adresse i j

}
}
*/

}
Ajouter un commentaire
Réponse
+2
moins plus
je veus crée un programme qui permet de conjugais des verbe du 2em groupe ?
Ajouter un commentaire
Réponse
+2
moins plus
Vous vous embêtez pour rien !
Il existe déjà des sites très bien faits pour ça tels que :

http://www.leconjugueur.fr

ou

http://www.conjuguons.fr
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour, si vous souhaitez générer un algorithme autour de la conjugaison, je vous conseils d'utiliser le site Conjugue Ta Mère qui liste tous les verbes de la langue française http://www.conjuguetamere.com/verbe . Pour chaque fiche d'un verbe il est assez facile d'extraire les terminaison de chaque verbe et ceux pour toutes les personnes et tous les temps de conjugaison. J'ai déjà essayé de développer un algorithme de conjugaison pour verbe, mais je me suis heurter par le nombre d'exceptions de verbe de la langue française.
Ajouter un commentaire
Réponse
+1
moins plus
hé! j'ai le meme tp dans ma formation, et qui prend en compte tout les cas, le code que lonless t'as donné et incomplet en effet pour les 3 premieres ;personnes du singulier il affiche tt le verbe sauf le dernier caractere, pour les 3 du pluriel , ilaffiche tt sauf les 'er', il faut donc completer pas un tableau='e', 'es','e','ons','ez','ent'; utilise plutot la biblio <string.h>

plus de presicions pour plus tard
bacchuss 1181Messages postés samedi 13 décembre 2003Date d'inscription 6 avril 2009 Dernière intervention - 22 févr. 2006 à 22:21
euh, t'es sur qu'il affiche pas e,es,e,ons,...

j'ai pas compilé mais ca m'a pas l'air si mauvais...
Répondre
cloé- 23 févr. 2006 à 11:00
non il marche mais le probléme est dans l'ajout des cas speciaux
-quad le vebe commence par une voyelle(j'achete)

-quand le verbe se termine avec un "g" il faut ajouter la "e" avec les pronom personnelle nous
-et quand le verbes se termine avec un "c" lfaut ajouter la cédi "ç".
stp jai as sus les integrer
Répondre
Utilisateur anonyme - 23 févr. 2006 à 12:30
salut
c'est pas dure l'algo est déjà dans l'énoncé

si verbe[0] = a ou e ou i ou u ou ...
alors j'

et ect il suffit d'implémenter le code qu"on t'a donnée et d'y ajouter des condition (if)

Répondre
cloé- 23 févr. 2006 à 13:49
stp fat le pour moi je suis qu'une debutante
Répondre
Utilisateur anonyme nabbla - 23 févr. 2006 à 14:09
justement c'est une bonne opportunité pour progrésser. Moi je te le fairais pas met tu peu soumettre ton code que tu as déjà réalisé et dire ou tu bloques
Répondre
Ajouter un commentaire
Réponse
+1
moins plus
Ajouter un commentaire
Réponse
+1
moins plus
salut quelqu'un peux m'aider a conjuguer le verbe sembler a tous les temps
BmV 61023Messages postés samedi 24 août 2002Date d'inscription ModérateurStatut 27 août 2015 Dernière intervention - 15 janv. 2008 à 20:13
Salut Cathy.

Un petit coup de pouce ==> http://www.commentcamarche.net/telecharger/telecharger 34055040 conjugaison
Mais faut quand même penser à réviser un peu de temps en temps !!!!!!
C'est important ; parfois tu seras toute seule et sans internet !!!

A+
Répondre
Ajouter un commentaire
Réponse
+1
moins plus
bonjour je mapelle meziane et jous informe comment on peut trouver le verbe feut
Ajouter un commentaire
Réponse
+1
moins plus
bonjour je m'appelle meziane je voudrait savoir comment conjugait le vebe faut
Ajouter un commentaire
Réponse
+1
moins plus
quelqun peux m'aidé a conjugué le verbe dire au passé composé et a l'imparfait stppppppppppppppppppppppppppppppppppppppppppppppppppppp
Ajouter un commentaire
Réponse
+1
moins plus
salut je voudrai savoir la conjugaison du verbe prendre et mettre a l'imparfait puis au passe composer svp
Ajouter un commentaire
Réponse
-1
moins plus
conjugaison +grammaire +orthographe et merci pour tout
Ajouter un commentaire
Ce document intitulé «  [C]Conjugaison de verbes  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.