Probleme avec un petit programme [C++] - Programmation
Marsh Posté le 18-02-2002 à 22:26:19
Je vois pas trop l'interêt de la récursivité et en plus tu t'en sers pas
Marsh Posté le 18-02-2002 à 22:31:30
bah c pour ca que je demande
je voit pas comment faire avec la recursivité
tu peut maidé ?
Marsh Posté le 18-02-2002 à 22:37:06
ouais, je vois pas l'intérêt de la récursivité et en plus, tu fais un retour de "int" dans ta fonction alors que dans ton main(), il n'y pas de pas de "int variable"=palin() !
Apprend à programmer un peu !
Marsh Posté le 18-02-2002 à 22:46:36
apprend a prgrammé ?? bah c peut etre pour ca que je post ici non ?
et je demande pas linteret de la recursivité je demande si quelqu'un sais le faire, c que j'ai pas le choix si je demande
pensez juste a l'enoncé
Marsh Posté le 18-02-2002 à 23:50:43
Bon, l'idée est simple dans ce programme. Tu aurais fais un peu de caml que tu n'aurais eu aucun mal a écrire ce programme parceque il ne faut pas utiliser for en caml, seulement la récursivitée.
Voila l'idée :
palin(char * tab, int i, int j)
tab entre i et j est un palindrome ssi :
i = j;
ou
tab[i] = tab[j] et palin(tab, i + 1, j - 1)
voila ton programme récursif
Marsh Posté le 19-02-2002 à 09:00:51
merci
et en gros il faudrait ecrire ca comme ca :
if (i<j)
{
if tab[i]=tab[j] return(palin(tab,i+1,j-1))
}
c'est ca ?
parceque la je voit pasd du tout meme si je sais que c tout con
Marsh Posté le 18-02-2002 à 22:12:07
bah voila je doit faire ce petit programme avec une fonction RECURSIVE :
ecrire une fonction recursive PALIN(tab,i,j) qui prend en parametre un tableau de caractere et 2 entier i et j.
Elle doit renvoyé si la chaine de caractere compris entre i et j dans le tableau est un palindrome
un palindrome est une chaine qui se lit pareil des 2 sens exemple : LAVAL, ICI etc...
voila ce que j'ai ecrit mais ca compile pas, erreur :
int palin(char ,const int, const int );
void main()
{
const int MAX=10;
int x,y,resultat;
char tab[MAX];
cout<<"Entrez la chaine de caractere"<<endl;
cin.getline(tab,MAX,'\0';
resultat=palin(tab,1,5);
}
int palin(char tab,const int i, const int j)
{
int cpt=0;
if (i<j)
{
if ((tab[i])==(tab[j]))
{
cpt++;
palin(tab,i+1,j-1);
}
}
return(cpt++==j-i);
}
vous en pensez quoi ?
[jfdsdjhfuetppo]--Message édité par massanu--[/jfdsdjhfuetppo]