CONVERTIR CODE JAVASCRIPT EN C

Fermé
jeandchanel Messages postés 135 Date d'inscription vendredi 10 juin 2016 Statut Membre Dernière intervention 31 mai 2017 - 15 sept. 2016 à 10:55
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 16 sept. 2016 à 23:32
Bonjour,
Quelqu'un peut il m'aider a réécrire ce code en langage C ?

// javascript
function combinaisons(a) { // a = new Array(1,2)
  var fn = function(n, src, got, all) {
    if (n == 0) {
      if (got.length > 0) {
        all[all.length] = got;
      }
      return;
    }
    for (var j = 0; j < src.length; j++) {
      fn(n - 1, src.slice(j + 1), got.concat([src[j]]), all);
    }
    return;
  }
  var all = [];
  for (var i=0; i < a.length; i++) {
    fn(i, a, [], all);
  }
  all.push(a);
  return all;
}




A voir également:

2 réponses

gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
16 sept. 2016 à 15:30
Bonjour,

Commence par le typage dans les déclarations de fonction et variables ;)
0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
16 sept. 2016 à 22:14
Bonjour,

Si le but est de montrer que la conversion entre deux langages similaires est quasi-impossible, c'est l'exemple idéal.

Le C est fortement typé, Javascript ne l'est pas du tout.
Ce code utilise a outrance les listes et les listes de listes et le C un des pires langages pour cela.
Il y a une fonction définie dans une fonction, c'est un piège à contourner en C.
Et, selon moi le pire pour un portage, l'action effectuée par la fonction est incohérente, elle s'appelle combinaisons et elle est incapable de générer les combinaisons!

Autrement dit. Si c'est un exercice, il est anti-pédagogique. Si le but est d'écrire une fonction calculant des combinaisons en C, ça n'est certainement pas le bon point de départ.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
16 sept. 2016 à 23:32
Bonjour,

La raison est plus simple. Il a un exercice à faire, après une (très courte) recherche sur Google il a trouvé qu'un code en JavaScript (sur cette page), sauf que son exercice étant à faire en C il faut maintenant le traduire.

Comme ça de son exercice il n'aura rien fait...
0