Traduire la boucle for en c
Fermé
nassim1987
Messages postés
105
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
27 janvier 2014
-
30 janv. 2011 à 01:40
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 30 janv. 2011 à 06:59
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 30 janv. 2011 à 06:59
A voir également:
- Traduire la boucle for en c
- Traduire la page - Guide
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Traduire photo - Guide
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Download instagram for pc - Télécharger - Divers Communication
1 réponse
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
30 janv. 2011 à 06:59
30 janv. 2011 à 06:59
Bonjour,
Vous pouvez utiliser la chaine connue "for" et ensuite le contenu entre les (), puis vous séparez les paramètres grâce aux ; vous aurez alors les 3 chaines :
i=0
i<10
i++
on peut utiliser le nom de la variable et la valeur numérique pour récupérer les symboles ou utiliser les symboles pour récupérer la variable et la valeur numérique, je pense que ce serait plus simple de récupérer les symboles.
Un peu de code pour l'explication :
le resultat du code donne :
i=0
i<10
i++
a=15
a>=2
a--
les paramètres sont contenu dans le buff bfparam chacun leur tour à vous de voir comment les utiliser (récupération des variables, symboles et valeurs) et où les stocker par la suite en remplaçant les printf.
Vous pouvez utiliser la chaine connue "for" et ensuite le contenu entre les (), puis vous séparez les paramètres grâce aux ; vous aurez alors les 3 chaines :
i=0
i<10
i++
on peut utiliser le nom de la variable et la valeur numérique pour récupérer les symboles ou utiliser les symboles pour récupérer la variable et la valeur numérique, je pense que ce serait plus simple de récupérer les symboles.
Un peu de code pour l'explication :
#include <stdio.h>//printf #include <string.h>//strlen void recup_for(const char *a) { char *fro="for", buff[250],bfparam[80];//taille des buff à l'arrache unsigned int x=strlen(a),i,y=0,p=0,z=0; /* x=taille de a, i pour la boucle principale y pour la chaine fro "for" p pour les parenthese, z pour le buff */ for(i=0;i<x;i++) { if(a[i]==fro[y]){y++;}//trouve la chaine "for" if(y==3)//si la chaine "for" est trouvée { if(a[i]==')'){//si on arrive à la dernière parenthese ) p=0;y=0;//reset des () et "for" pour le "for" suivant ansi que pour le premier param utilsant p buff[z]='\0'; //buff contient ce qu'il y a entre les () for(z=0;z<strlen(buff);z++) //parcour du buff recyclage de z { if(buff[z]==';') { //si ; alors bfparam contient soit le 1er ou 2e parametre bfparam[p]='\0';//ferme la chaine avec un caractere null printf("%s\n",bfparam);//affichage du parametre p=0;//reset de p pour le parametre suivant } else { bfparam[p]=buff[z]; p++; //charge le param avec recyclage de p } } bfparam[p]='\0';//ferme chaine pour le 3e parametre printf("%s",bfparam);//affichage du dernier parametre printf("\n\n");//fin du traitement du "for" actuel z=0;//reset de z pour un "for" suivant } if(p==1) {//met le contenu entre les () dans le buff buff[z]=a[i]; z++; } if(a[i]=='('){p=1;} } } } int main() { recup_for("test for(i=0;i<10;i++){} test for(a=15;a>=2;a--){} test"); return 0; }
le resultat du code donne :
i=0
i<10
i++
a=15
a>=2
a--
les paramètres sont contenu dans le buff bfparam chacun leur tour à vous de voir comment les utiliser (récupération des variables, symboles et valeurs) et où les stocker par la suite en remplaçant les printf.