المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : من يساعدنى فى حل tp بلغة c++...............


khawlita.dz
2013-01-29, 22:39
Segmenttattiion d’’un documentt ttextte


La première phase dans le processus d’un système de recherche d’information
est la phase d’indexation. La première étape dans cette phase (indexation) est
l’étape segmentation.
Le but de ce TP est de développer une application qui fait l’extraction des unités
lexicales contenues dans un fichier texte.
Pour réaliser ce projet nous allons utiliser l’environnement de développement
Visual C++.
Les étapes à suivre pour la réalisation sont les suivantes :
1. Lecture du texte à partir d’un fichier
Dans cette partie nous allons charger le contenu du fichier en mémoire et
l’afficher.
2. Recherche des délimiteurs et définition des unités lexicales
Cette partie représente le noyau de notre travail. Dans cette phase nous allons
préparer une liste de délimiteurs de texte (exp. blanc, virgule, point, tiret …etc) puis
nous recherchons ces délimiteurs dans le texte original pour séparer les unités
lexicales, les afficher et les stocker dans un autre fichier.
Ce TP doit être réalisé en utilisant l’environnement de développement Visual
C++
La remise du TP se fait sur la plate forme Moodle sous forme d’un seul fichier
avec le nom de « prenom_nom.zip ».
Ce fichier compressé doit contenir :
- Le projet C++ généré par Visual C++ compressé dans un seul fichier ;
- Le rapport : c’est un document Word contenant la description de votre
travail.

amindell
2013-02-01, 19:15
استطيع مساعدتك في هدا العمل التطبيقي ولكن يجب عليك المحاولة على الاقل
يعني حاولي وان واجهة مشكلة سنساعدك
تحياتي

khawlita.dz
2013-02-05, 19:07
استطيع مساعدتك في هدا العمل التطبيقي ولكن يجب عليك المحاولة على الاقل
يعني حاولي وان واجهة مشكلة سنساعدك
تحياتي
مشكور اخي
انا حليت هدا tp لكن مشكل كي نبدل logiciel مايمشيش.............ما فهمتش علاه

amindell
2013-02-07, 20:26
اختي اسف على عدم الرد
اختي هدا التطبيقي يعمل تحليل من ملف text
يعني تكتبي في الملف الالغوريتم والبرنامج يقوم بعمله
المهم ادا اردت ضعي هنا البرنامج وساساعدك بادن الله
تحياتي

عبدالرزاق2010
2013-02-08, 09:22
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()

char moc [11][19]={"if","for","do","else","main","while","main","include","int","switch","case"};
int k;int p=0;
char ch[1];int state;char cha;

FILE *F;char tab[500];int i=0;char str[256];
int c;int j;
if(NULL==(F=fopen("fich.txt","r")))
return EXIT_FAILURE;
/*la lecture du fichier a compiler et le mettre dans le tableau tab*/
while((c=fgetc(F))!=EOF )
{
tab[i]=c;
printf("%c",tab[i]);
i=i+1;
}
/*k indique le nombre du caractere du fichier */
k=strlen(tab);
i=0;
do
{ state=0;
if((tab[i]>='a')&&(tab[i]<='z' ))
{
while((tab[i]!=' ')&&( (( tab[i]>='0')&&(tab[i]<='9'))||((tab[i]>='a')&&(tab[i]<='z'))))
{
ch[p]=tab[i];
strcat(str,ch);/*Concatenation des lettres de chaque mot du tableau et leur mise dans str*/
i=i+1;
}
j=0;
while(j<11)
{
if(strcmp(str,moc[j])==0)
{printf("%s est un mot cle\n",str);
state=1;
break;
}
else
j=j+1;
}
i=i-1;
if(state!=1)
printf ("%s est un identificateur\n",str);
}
else
if((tab[i]>='0')&&(tab[i]<='9'))
{
while ((tab[i]!=' ')&&(tab[i]>='0')&&(tab[i]<='9'))
{
ch[p]=tab[i];
strcat(str,ch);
i=i+1;
}
if (( tab[i]>='a')&&(tab[i]<='z'))
{
while((tab[i]!=' ')&&((( tab[i]>='a')&&(tab[i]<='z'))||((tab[i]>='0')&&(tab[i]<='9'))))
{
ch[p]=tab[i];
strcat(str,ch);
i=i+1;
}
printf("%s erreur",str);
i=i-1;
}
else
{
printf("%s est un nombre",str);
i=i-1;
}
}
else
{
cha=tab[i];
switch (cha)
{
case ';':
printf("%c : est un caractere special\n",cha);
break;
case '(':
printf("%c : est un caractere special\n",cha);
break;
case ')':
printf("%c : est un caractere special\n",cha);
break;
case '{':
printf("%c : est un caractere special\n",cha);
break;
case '[':
printf("%c : est un caractere special\n",cha);
break;
case ']':
printf("%c : est un caractere special\n",cha);
break;
case '}':
printf("%c : est un caractere special\n" ,cha);
break;
case '"':
printf("%c : est un caractere special\n",cha);
break;
case ',':
printf("%c : est un caractere special\n",cha);
break;
case '+':
printf("%c : operateur d'adition\n",cha);
break;
case '-':
printf("%c : operateur de soustraction\n",cha);
break;
case '*':
printf("%c : operateur de multiplication\n",cha);
break;
case '/':
printf("%c : operateur de division\n",cha);
break;
case '<':
printf("%c : operateur logique inferieur\n",cha);
break;
case '>':
printf("%c : operateur logique superieur\n",cha);
break;
case '#':
printf("%c : caractere special \n",cha);
break;
case '.':
printf("%c : caractere special \n",cha);
break;
case '&':
printf("%c : caractere special \n",cha);
break;
case '=':
printf("%c : caractere special \n",cha);
break;
case '%':
printf("%c : caractere special \n",cha);
break;
}
}
i=i+1;
memset (str, 0, sizeof (str));/*inisialiser la chaine de caracteres str a 0*/
}
while(i<k);
system("pause");
return 0;
}

khawlita.dz
2013-02-08, 13:45
اختي اسف على عدم الرد
اختي هدا التطبيقي يعمل تحليل من ملف text
يعني تكتبي في الملف الالغوريتم والبرنامج يقوم بعمله
المهم ادا اردت ضعي هنا البرنامج وساساعدك بادن الله
تحياتي
مشكور اخى.......لقد حللت المشكل.....جزاك الله خيرا........................

khawlita.dz
2013-02-08, 13:46
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()

char moc [11][19]={"if","for","do","else","main","while","main","include","int","switch","case"};
int k;int p=0;
char ch[1];int state;char cha;

file *f;char tab[500];int i=0;char str[256];
int c;int j;
if(null==(f=fopen("fich.txt","r")))
return exit_failure;
/*la lecture du fichier a compiler et le mettre dans le tableau tab*/
while((c=fgetc(f))!=eof )
{
tab[i]=c;
printf("%c",tab[i]);
i=i+1;
}
/*k indique le nombre du caractere du fichier */
k=strlen(tab);
i=0;
do
{ state=0;
if((tab[i]>='a')&&(tab[i]<='z' ))
{
while((tab[i]!=' ')&&( (( tab[i]>='0')&&(tab[i]<='9'))||((tab[i]>='a')&&(tab[i]<='z'))))
{
ch[p]=tab[i];
strcat(str,ch);/*concatenation des lettres de chaque mot du tableau et leur mise dans str*/
i=i+1;
}
j=0;
while(j<11)
{
if(strcmp(str,moc[j])==0)
{printf("%s est un mot cle\n",str);
state=1;
break;
}
else
j=j+1;
}
i=i-1;
if(state!=1)
printf ("%s est un identificateur\n",str);
}
else
if((tab[i]>='0')&&(tab[i]<='9'))
{
while ((tab[i]!=' ')&&(tab[i]>='0')&&(tab[i]<='9'))
{
ch[p]=tab[i];
strcat(str,ch);
i=i+1;
}
if (( tab[i]>='a')&&(tab[i]<='z'))
{
while((tab[i]!=' ')&&((( tab[i]>='a')&&(tab[i]<='z'))||((tab[i]>='0')&&(tab[i]<='9'))))
{
ch[p]=tab[i];
strcat(str,ch);
i=i+1;
}
printf("%s erreur",str);
i=i-1;
}
else
{
printf("%s est un nombre",str);
i=i-1;
}
}
else
{
cha=tab[i];
switch (cha)
{
case ';':
Printf("%c : Est un caractere special\n",cha);
break;
case '(':
Printf("%c : Est un caractere special\n",cha);
break;
case ')':
Printf("%c : Est un caractere special\n",cha);
break;
case '{':
Printf("%c : Est un caractere special\n",cha);
break;
case '[':
Printf("%c : Est un caractere special\n",cha);
break;
case ']':
Printf("%c : Est un caractere special\n",cha);
break;
case '}':
Printf("%c : Est un caractere special\n" ,cha);
break;
case '"':
Printf("%c : Est un caractere special\n",cha);
break;
case ',':
Printf("%c : Est un caractere special\n",cha);
break;
case '+':
Printf("%c : Operateur d'adition\n",cha);
break;
case '-':
Printf("%c : Operateur de soustraction\n",cha);
break;
case '*':
Printf("%c : Operateur de multiplication\n",cha);
break;
case '/':
Printf("%c : Operateur de division\n",cha);
break;
case '<':
Printf("%c : Operateur logique inferieur\n",cha);
break;
case '>':
Printf("%c : Operateur logique superieur\n",cha);
break;
case '#':
Printf("%c : Caractere special \n",cha);
break;
case '.':
Printf("%c : Caractere special \n",cha);
break;
case '&':
Printf("%c : Caractere special \n",cha);
break;
case '=':
Printf("%c : Caractere special \n",cha);
break;
case '%':
Printf("%c : Caractere special \n",cha);
break;
}
}
i=i+1;
memset (str, 0, sizeof (str));/*inisialiser la chaine de caracteres str a 0*/
}
while(i<k);
system("pause");
return 0;
}مشكور اخي على المساعدة بارك الله فيك وجازاك الله خيرا