[C]Conjugaison de verbes
cloé
-
rafe -
rafe -
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.
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:
- Comment se faisse
- Logiciel conjugaison - Télécharger - Dictionnaires & Langues
- Télécharger larousse conjugaison pdf gratuit - Télécharger - Dictionnaires & Langues
- Télécharger conjugaison 12000 verbe gratuit pdf - Télécharger - Études & Formations
- Telecharger tableau conjugaison anglais pdf - Télécharger - Études & Formations
- Irregular verbes - Télécharger - Bureautique
14 réponses
Vous risquez pas d'arriver a conjuguer correctement en C, vous arrivez même pas a écrire normalement avec un clavier ...
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;
}
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;
}
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 @+
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 @+
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
}
}
*/
}
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
}
}
*/
}
quelqun peux m'aidé a conjugué le verbe dire au passé composé et a l'imparfait stppppppppppppppppppppppppppppppppppppppppppppppppppppp
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
Il existe déjà des sites très bien faits pour ça tels que :
http://www.leconjugueur.fr
ou
http://www.conjuguons.fr
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.
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
plus de presicions pour plus tard
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
-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
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+
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+