Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Passer un algo iteratif en recursif [ Archives / Au secours ] (Peavy57)

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é 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...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.