Convertir une fonction C++ en PHP

Résolu/Fermé
TucSky Messages postés 32 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 - 3 avril 2013 à 19:10
TucSky Messages postés 32 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 - 5 avril 2013 à 01:24
Bonjour,
Je souhaiterai convertir ce petit programme C++ en PHP.
Le problème c'est que je ne connais quasiment rien du C++ donc je viens vous demander de l'aide.

Il s'agit ici d'un programme qui trie un tableau en fonction d'un algorithme défini (enfin je suppose) :

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

#include "mekorand.h"

#define MX_MTBL		(sizeof(mekornd) / sizeof(unsigned short))

typedef struct {
    int n;
    unsigned short int r;
} MKT;


static int comp_mt(const void *s, const void *d)
{
    MKT *mt1 = (MKT *)s;
    MKT *mt2 = (MKT *)d;

    return (int)(short)(mt1->r - mt2->r);
}


void main(int argc, char **argv)
{
    int n = 10, i;
    MKT *mt;

    if(argc > 1) {
        sscanf(argv[1], "%d", &n);
        if(n <= 0 || n > MX_MTBL)
            n = 10;
    }
    mt = malloc(sizeof(MKT) * n);
    if(!mt) {
        printf("no memory!\n");
        exit(1);
    }
    for(i = 0; i < n; i++) {
        mt[i].r = mekornd[i];
        mt[i].n = i + 1;
    }
    qsort(mt, n, sizeof(MKT), comp_mt);

    for(i = 0; i < n; i++)
    	printf("%4d", mt[i].n);
    putchar ('\n');
    free(mt);
    exit(0);
}


Pour ce que j'ai compris, l'include, tout en haut, est un tableau de valeur utilisé pour le trie (je ne vais pas l'écrire ici car il est beaucoup trop grand, donc je l'ai uploadé quelque part pour vous : http://cluster1.easy-hebergement.net/ )

La fonction qsort() utilisé en c++, équivaut, selon moi, à la fonction usort() en php.

Merci d'avance !!




A voir également:

5 réponses

TucSky Messages postés 32 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 1
3 avril 2013 à 21:09
Personne ?
Si c'est trop long de convertir main, aidez moi pour "comp_mt()", même brièvement ça m'aiderai beaucoup !!
0
Utilisateur anonyme
4 avril 2013 à 05:46
Salut,
Je recherche moi aussi a importer des fonctions depuis C et C++ dans PHP,
j'ai fait quelque recherche et j'ai trouvé quelques liens très intéressants :
-http://www.iut-arles.up.univ-mrs.fr/thon/A1/prog_avancee/MFC%20-%20Chapitre%2007.pdf
-https://fr.wikipedia.org/wiki/Dynamic_Link_Library
-https://www.php.net/manual/fr/function.dl.php

Si tu arrive a importer ta fonctions préviens moi.
0
TucSky Messages postés 32 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 1
4 avril 2013 à 13:11
Et bah enfaîte moi je cherche pas vraiment a les importer, mais j'ai besoin de connaitre la syntaxe php de ce programme C++, en particulier de

static int comp_mt(const void *s, const void *d)
{
    MKT *mt1 = (MKT *)s;
    MKT *mt2 = (MKT *)d;

    return (int)(short)(mt1->r - mt2->r);
}


Je bloque dessus depuis 3 jours : (

Après pour importer des fonctions c/c++ dans php tu peut faire un
exec('mon_programme_c.exe "exemple de paramètres"',$out);

Non ?
0
Salut,
J'y connais vraiment rien en C++ , MKT a l'air d'une constante non ?
Si tu souhaite juste coder cette fonction dans PHP je vais squatter ailleurs alors.
Pour mon problème , oui je vais me renseigner sur la fonction exec() mais je vois pas trop comment passer des paramètre a une application.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TucSky Messages postés 32 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 15 mars 2022 1
5 avril 2013 à 01:24
Ok quelqu'un d'autre a une solution ? :)
0