[C]Conjugaison de verbes

Fermé
cloé - 20 févr. 2006 à 18:35
 rafe - 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.
A voir également:

14 réponses

serialtueur Messages postés 49 Date d'inscription mardi 25 novembre 2008 Statut Membre Dernière intervention 22 octobre 2009 80
16 mai 2009 à 22:39
Vous risquez pas d'arriver a conjuguer correctement en C, vous arrivez même pas a écrire normalement avec un clavier ...
18
Utilisateur anonyme
20 févr. 2006 à 23:52
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;
}
6
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 @+
0
bacchuss Messages postés 1162 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 6 avril 2009 190
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 !!!
0
cloé > bacchuss Messages postés 1162 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 6 avril 2009
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.
0
c est trop bien et encore merci
0
merci grace avous j"ai reussi mon contero
0
kun.sasuke Messages postés 20 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 13 juin 2007 4
23 févr. 2006 à 16:11
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

}
}
*/

}
3
quelqun peux m'aidé a conjugué le verbe dire au passé composé et a l'imparfait stppppppppppppppppppppppppppppppppppppppppppppppppppppp
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
je veus crée un programme qui permet de conjugais des verbe du 2em groupe ?
2
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
2
FabienBRANCHUT Messages postés 5 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 11 janvier 2011 23
22 juin 2010 à 06:59
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.
2
kun.sasuke Messages postés 20 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 13 juin 2007 4
22 févr. 2006 à 18:53
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
1
STP aide moi je suis vraiment perdu STP...STP...STP...STP...STP
0
bacchuss Messages postés 1162 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 6 avril 2009 190
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...
0
cloé > bacchuss Messages postés 1162 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 6 avril 2009
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
0
Utilisateur anonyme > cloé
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)

0
cloé > Utilisateur anonyme
23 févr. 2006 à 13:49
stp fat le pour moi je suis qu'une debutante
0
merciiii
1
salut quelqu'un peux m'aider a conjuguer le verbe sembler a tous les temps
1
BmV Messages postés 90464 Date d'inscription samedi 24 août 2002 Statut Modérateur Dernière intervention 15 avril 2024 4 685
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+
0
bonjour je mapelle meziane et jous informe comment on peut trouver le verbe feut
1
bonjour je m'appelle meziane je voudrait savoir comment conjugait le vebe faut
1
salut je voudrai savoir la conjugaison du verbe prendre et mettre a l'imparfait puis au passe composer svp
1
conjugaison +grammaire +orthographe et merci pour tout
-1