CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

printf("blabla");

vive_cod4
vive_cod4
Niveau 9
25 mai 2012 à 22:19:41

Bonjour tout le monde !

Je commence dans la récursivité en cours et j'aimerais votre avis sur ces 3-4 très petites fonctions pour me dire si je fais bien les choses.

http://pastebin.com/kxeVyvt6

Commentaire: Question 1,que peut-on voir entre les 2 compteurs ?
Question 2, différence entre les 2 suites fibonacci (en terme d'efficatié)

Merci !

godrik
godrik
Niveau 30
25 mai 2012 à 22:28:47

La suite est croissante dans un cas et decroissante dans l'autre. Note que compte_dec(int n) utilise de la recursivite terminale et est donc transformer en boucle while par tous les compilateurs raisonnable.

pour fibonnacci, l'ecriture est derecursivable egalement par le compilateur et les deux fonctions sont donc certainement strictement equivalente.

vive_cod4
vive_cod4
Niveau 9
25 mai 2012 à 22:32:36

godrik comment un algorithme peut être "dérécursible" ? Ce que tu entends c'est que ma fibo réc est pas "récursive" ?

godrik
godrik
Niveau 30
25 mai 2012 à 22:35:48

compile la fonction factorielle avec le niveau maximal d'optimisation vers de l'assembleur tu vera qu'il n'y a pas d'appel de fonction.

http://fr.wikipedia.org/w/wiki/R%C3%A9cursion_terminale

vive_cod4
vive_cod4
Niveau 9
25 mai 2012 à 22:43:32

Ok je vois. Je vois plus loin dans la série que c'est demandé de faire en version terminale (donc ce que j'ai fait maintenant). Si je voulais faire une version non-terminale, comment devrais-je procéder ? (pour le n!)

godrik
godrik
Niveau 30
25 mai 2012 à 22:45:29

n! est pas faisable sans recursivite terminale je pense. Mais fibonacci se fait bien en faisant de la double recursivite:

int fibo (int x)
{
if (x<=2) return 1;
return fibo(x-1)+fibo(x-2);
}

Avec deux appel recusrif, il n'y a pas de derecursivation possible (de memoire).

vive_cod4
vive_cod4
Niveau 9
25 mai 2012 à 22:50:35

Ok ça marche, dernière question : Est-ce que c'est possible d'avoir chaque terme de la suite fibo avec le double appel récursif ?

godrik
godrik
Niveau 30
25 mai 2012 à 22:56:31

la comme ca, a chaud, non :)

quoi que

int fibo (int x, bool f)
{
int val;
if (x<=2) val = 1;
val = fibo(x-1, f) + fibo(x-2, false);
if (f) print (val);
}

m'a l'air de faire l'affaire.

vive_cod4
vive_cod4
Niveau 9
25 mai 2012 à 23:04:19

ok je vois l'idée. Merci de tes réponses !

vive_cod4
vive_cod4
Niveau 9
27 mai 2012 à 16:46:02

Bonjour,

J'aurais une question à propos de la surcharge de l'opérateur [].

Prenons l'implémentation suivante (un bout de la classe) :

T& operator[](const int i)
{
if(i>=taille)
cout << "Case inexistante" << endl;
else
return this->value[i];
}
Maintenant un bout de programme (Vecteur = ma classe):

Vecteur <int> v (2) ;
v[0] = 1 ; v[1] = 2 ;
cout << v[0] << endl << v[1];

Comment à partir de cette surcharge le compilateur sait que lorsque l'on fait v[0] = 1; il associe la valeur 1 au tableau et quand on fait cout << v[0] il l'a sort ?

J'ai de la peine à différencier cette différence qui utilise le même code.

Merci

Paulop
Paulop
Niveau 12
27 mai 2012 à 17:34:17

Dans les deux cas il fait la même chose, il te retourne une référence vers la valeur de la case 0.

Toi après tu travailles sur la référence, pas sur le tableau.

vive_cod4
vive_cod4
Niveau 9
27 mai 2012 à 19:43:47

Ok, je vois !

Donc en gros on a la référence et ensuite c'est le compilateur qui s'occupe de l'affectation ou du cout.

Merci

godrik
godrik
Niveau 30
27 mai 2012 à 21:38:40

En vrai, il y a une autre reponse a cette question. Lorsque tu utilise v[1] comment une l-value, le compilateur appelle la fonction "T& operator[](const int i)". Quand tu l'utilise comme une r-value, il appelle la fonction "const T& operator[](const int i) const".

Paulop
Paulop
Niveau 12
27 mai 2012 à 21:45:48

Intéressant, il génère la seconde tout seul ?

Paulop
Paulop
Niveau 12
29 mai 2012 à 13:02:29

int ( &foo () )[5]
{
static int x[5];
return x;
}

Syntaxe sympathique que je ne connaissais pas, pour retourner une référence sur un tableau.

godrik
godrik
Niveau 30
29 mai 2012 à 15:41:45

oui typiquement il genere la seconde a partir de la premiere. Mais ca permet de retourner qqch de different a but de lecture ou d'ecriture.

Je ne suis pas sur de comprendre la derniere syntaxe que tu fournis. C'est assez intriguant.

Paulop
Paulop
Niveau 12
29 mai 2012 à 15:56:29

Ce serait l'équivalent de

typedef int Array10[10];

Array10& foo ();

Silvermo
Silvermo
Niveau 26
02 juin 2012 à 11:10:37

J'ai trouvé ce post assez amusant sur reddit :
http://www.reddit.com/r/programming/comments/udxp4/exploring_expressions_of_emotions_in_github/

l'objet du post :

http://geeksta.net/geeklog/exploring-expressions-emotions-github-commit-messages/

En gros, des statistiques sur les émotions et expressions qui reviennent le plus souvent dans les messages des commits.
Classés par émotion, avec des graphiques comparant les langages.

godrik
godrik
Niveau 30
02 juin 2012 à 19:37:34

Un ami a moi a fait une etude similaire sur les reponses de yahoo answer. Avec beaucoup plus de statistics et d'information comme sexe, age, localization, etude croisse de l'emotion d'une question et de sa reponses...

Silvermo
Silvermo
Niveau 26
02 juin 2012 à 19:52:47

Possible de consulter cette étude ?

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment