begin process at 2010 02 09 19:33:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Passer un algo iteratif en recursif


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Passer un algo iteratif en recursif

mercredi 24 septembre 2003 à 17:51:38 | Passer un algo iteratif en recursif

Peavy57


Selon vous est ce possible de mettre cela en recursif ?

Code:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>

void sequencesSerie4(int seq[],int seqSize, int seqLen, int step, int curr)
{
int total = 0;
int bound = 0;

for (int i=0; i < 2; i++)
{
for (int j=i; j < i+seqLen && j < seqSize; j++)
{
for (int k=j; k < j+seqLen && k < seqSize; k++)
{
for (int l=k;l < k+seqLen && l < seqSize; l++)
{
if ( l >= 3+i )
{
cout << seq[i] << " ";
cout << seq[j] << " ";
cout << seq[k] << " ";
cout << seq[l] << " ";
cout << endl;
total++;
}
}
}
}
}
cout << "Total: " << total << endl;
}

int main()
{
int seq[] = {12,13,23,21,31,32};

sequencesSerie4(seq, 6, 4, 0, 0);

getch();
}



et si oui comment...
Merci pour votre aide
Peavy
mercredi 24 septembre 2003 à 19:52:36 | Re : Passer un algo iteratif en recursif

C2S

explique ce que doit faire ton programme stp... je penses pouvoir te le recursifer.... je penses hein ! ;-)

------------
C2S
------------
mercredi 24 septembre 2003 à 20:12:13 | Re : Passer un algo iteratif en recursif

Peavy57


Merci pour ton aide. En fait l ennonce se trouve ici, c est la progrmming question...
http://www.cs.concordia.ca/~teaching/comp352/2003f/Assign1/index.html
Le but final est de calculer le nombre de polygones que l on peut inscrire dans un triangle ( les chiffres 12, 13, etc... representent les droites qui coupent 2 cotes du triangle, par exemple un polygone 12,12,12,21 est compose de 4 droites, la 1ere coupe le cote 1 et 2 du triangle, la 2e et 3e aussi, la 4e coupe le les cotes 2 et 1 du triangle, etc...
http://www.cs.concordia.ca/~teaching/comp352/2003f/Assign1/index.html
Merci
mercredi 24 septembre 2003 à 21:05:59 | Re : Passer un algo iteratif en recursif

C2S

je comprend pas bien les regles, pkoi la sequence fausse est fausse? explique moi vite fait les regles et je penses pouvoir le faire
;-)
------------
C2S
------------
mercredi 24 septembre 2003 à 21:20:25 | Re : Passer un algo iteratif en recursif

Peavy57

parce que tu as un ordre a respecter pour afficher les nombres
le voici
Number Followed by one of:
12 - 12, 13, 23, or 21
13 - 13, 23, 21, or 31
23 - 23, 21, 31, or 32
21 - 21, 31, or 32
31 - 31, or 32
32 - 32
avec comme pre requis que la sequence commence par 12 ou 13 et que si ca commence par 12 ca doit se finir par 21 31 2 et que si ca commence par 13 ca doit se finir par 31 ou 32.
12 12 12 12 n est pas bon car le 1er nombre est 12 (donc le dernier doit etre 21 forcement (car 21 est bien dans 21 31 32 et dans 12 13 23 21 (les successeurs de 12))

samedi 27 septembre 2003 à 22:34:30 | Re : Passer un algo iteratif en recursif

Azar


En gros tu dois écrire un algo pour trouver tous les chemins de longueur 4 en partant des sommets 12 et 13.

Les parcours de graphes en récursif tu devrais trouver pas mal de sources sur le net.

Le seul truc vraiment génant en fait c'est que 13 ne puisse pas terminer une séquence débutant par 13. D'après leur tableau, 13 peut suivre 13,donc 13 13 13 13 devrait être admise.

J'espere ne pas avoir répondu trop tard.
dimanche 28 septembre 2003 à 04:52:07 | Re : Passer un algo iteratif en recursif

Peavy57

La deadline etait vendredi mais c est bon j ai trouve une solution quio marche, la voici:

void Sequence::printRecSequences(int tabSeq[], int step, int pos)
{

if ( seqSize < 1 || seqLen < 1)
{
cout << "You must enter a valid size for your array and the length of your sequence (Positive and not equals to 0)." << endl;
return ;
}


if (step == 0 )
{

cout << "Sequences"<< endl;
cout << "================================"<< endl;


for(int i=0; i<2 ; i++)
{
tabSeq[0] = seq[i];
printRecSequences(tabSeq, step+1, i);
}

cout << "================================"<< endl;
cout << "Total number of sequences: " << totSeq << endl;
}
else if (step == seqLen)
{

if ( (tabSeq[0] == 12 && (tabSeq[seqLen-1] == 21 || tabSeq[seqLen-1] == 31 || tabSeq[seqLen-1] == 32) )
||
(tabSeq[0] == 13 && (tabSeq[seqLen-1] == 31 || tabSeq[seqLen-1] == 32) )
)
{

totSeq = totSeq+1;
for ( int k=0; k<seqLen; k++)
cout << tabSeq[k] << " ";
cout << endl;
}
}
else
{

for(int i=pos;i<pos+4 && i<seqSize;i++)
{
tabSeq[step]=seq[i];
printRecSequences(tabSeq, step+1, i);
}
}
}


en fit je l ai mise dans une classe
n hesite pas a me filer ton email si tu veux la soluce au cas ou cela t interesse
en tout cas merci pour ton aide
alexandre


Cette discussion est classée dans : int, include, cout, total, seq


Répondre à ce message

Sujets en rapport avec ce message

Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l une fiche de renseignement [ par cabarrus ] je cherche à faire un programme qui demande des renseignements pour pouvoir ensuite les affiché comme une fiche d'identité!!!voici monprogramme mais m Les nombres aléatoires en C++ (Visual C++ 6.0) [ par Yabo ] Tout d'abord voilà le code :CODE #include #include #include #include using namespace std;void animstartscreen() { int n erreur incomprise ... [ par tontonjab ] bonjour ... j'ai un probleme avec mon code source, et j'aimerais bien que vous y jetié un coup d'oeil pour m'aider !////////////////////#include #incl Pb perte initialisation variable C++ [ par smagf ] Bonjour, alors voici mon pb :   pDecrypter = new Computer(duplicates) un nouvel objet de type Computer est créé Computer::Computer(bool dupes): Decryp problème de OutPut [ par NAVIE ] Bonjour, J'écris ce message pour demander de l'aide au sujet des gestions des Input et des Output. En effet, dans un programme que j'ai fabriqué, je m probleme de retour de valeur [ par darmoor ] Salut! Bon je veut faire un petit prog en mode console qui fait les statistique d'un lancement de dé. J'ai commencé le debut: #include #include # [dev c++] mot de passe c++ [ par kiki67100 ] Bonjour jaimerais savoir comment faire une petit gestion de mot de passe en c++ voici mon codes mais meme avec un faux mot de passe sa marche /*** PRO Sauvegarder [ par buguetj ] #include #include #include #include #include using namespace std;const int MAXNAMESIZE=3; int main(int nNumerofArgs, char* pszAr Segmentation fault sur un tableau de char [ par MaxSoldier ] Bonsoir tout le monde !Je me suis mis au C/C++ sous linux il y a quelques jours et j'ai de nombreuses erreur de dépassement de tampon (segmentation fa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales