IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

bin packing avec c++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre � l'essai
    Femme Profil pro
    �tudiant
    Inscrit en
    Mars 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Par d�faut bin packing avec c++
    bonsoir
    j'ai un travail a faire c'est d'affecter les objets dans des boites de telle sorte le tailles des objets soit inferieur ou egale au capacite du boite et l'ojet qu'on a mit dans la boite on peut pas l'affecter une autre fois voici qu'est ce que j'ai fait mail il ne marche pas s'ils vous plait aidennnttt moi c'est tres urgent

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    #include<stdafx.h> 
    #include<time.h>  
    # include <stdlib.h>  
    # include <stdio.h>  
    #include<math.h>  
     
    int i,n,taille,*items,*boites,*M;
    void sommeTableau (int tableau[], int *pointeursomme); 
     
    void tridecroissant(int *M,int n)
    {
    	int i,j,k;
     
    	for(i=0;i<n-1;i++)
    	   for(j=i+1;j<n;j++)
    		 if(M[i]<M[j])
    			{
    				k=M[i];
    				M[i]=M[j];
    				M[j]=k;
    			}
     
    }
    int sommeTableau (int tableau[],int n) 
    { 
    int i; 
    int somme=0;
    for(i=0;i<n;i++) 
    { 
    somme = somme + tableau[i]; 
     
    } 
    return somme;
     
    } 
    int count(int *tab)
    {
          int i;
     
         for (i = 0; tab[i]; i++)
               ; 
         return (i);
    }
    int binpacking(int *M,int *P,int t)
    {
    	bool affecte=false;
    	int i,j,b=0;
    	for(i=0;i<count(M);i++)
    	{
    		affecte=false;
    		for( j=0;j<count(P);j++)
    		{
    			if(t - sommeTableau(M,count(M)) >= P[j])
    				M[i]=P[j];
    				affecte=true;
    				b=count(M);
    				break;	
    		}
    	}
    	return b;
    }
     
     
    // Le programme principal
     
    void main(int argc, char *argv[]) 
    { 
    	//int n;
    int items[9] = {30,50,150,110,56,125,14,87,65}; 
    int *boites;
    boites = new int[n];
    int i=0; 
    int c;
    int somme;
    tridecroissant(items,9);
     
     
    for(i=0; i<9; i++) 
    { 
     
    	printf("%d\n",items[i]); 
    } 
    somme=sommeTableau(items,9);
    printf("la somme est %d\n",somme); 
     
    c=binpacking(boites,items,150);
    printf("la nombre de boite est %d\n",c);
     
    }

  2. #2
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Si tu ne nous dit pas o� �a ne marche pas, ce n'est pas ais� de t'aider...
    Sinon, quelques remarques g�n�rales en vrac :
    - Si tu fais du C++, et pas du C, utilise std::vector
    - Pour trier, utilise un algorithme existant (std::sort). Ton algorithme actuel est en O(n�), l� o� des algorithmes en O(n log(n)) existent. C'est criminel ce genre de choses !
    - Soigne mieux ton indentation. D�j� parce que sinon, on n'aura pas envie de lire ton code et de t'aider, et c'est bon pour toi comprendre ce qu'il fait
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    Membre � l'essai
    Femme Profil pro
    �tudiant
    Inscrit en
    Mars 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Par d�faut
    je suis debetante en programmation donc exuc� moi pour ce genre l� de code.
    bref le problem persiste au niveau de la methode
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    int binpacking(int *M,int *P,int t)
    voila le resultat du code
    Images attach�es Images attach�es  

  4. #4
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par d�faut
    En fait c'est ultra logique (du moins de t�te sans compilateur)

    D�j� ton code c'est un massacre : il manque un delete[], dans ta fonction count test d'arr�t � la one again, ligne 53 il doit manquer une parenth�se, variable affecte qui ne sert � rien, indentation inexistante

    Et encore plus: utilisation des ++ pr�fixe, aucun test pr�condition sur les pointeurs, le return 0 du main.

    Tu as un double probl�me de logique et 1 d'algo:
    • Logique: Tu fais une soustraction avec 150. Or ton premier �l�ment est 150 (du moins il me semble). Et apr�s ta soustraction est n�gative (puisque ta somme doit augmenter) et par cons�quent ton test devient toujours faux.
    • Logique: Tu fais un parcours sur un tableau vide que tu remplis au fil de l'eau (*)
    • Algo: Ta fonction count doit te retourner une taille + 1. C'est pour cela que tu as 1 seule bo�te au lieu de 0


    *: J'ai r�fl�chi parce, de prime abord, ma pr�cision ne semble pas logique , mais ici l'id�e c'est que comme ton tableau est vide, il ne doit pas entrer dans la boucle. .... Mais ceci seulement si le count fonctionne

  5. #5
    Membre � l'essai
    Femme Profil pro
    �tudiant
    Inscrit en
    Mars 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Par d�faut
    Merci tu ma donner une id�e et �a marche merci beaucoup

Discussions similaires

  1. Variante du bin packing avec deux contraintes
    Par GoustiFruit dans le forum Algorithmes et structures de donn�es
    R�ponses: 4
    Dernier message: 21/03/2012, 21h16
  2. Bin Packing sous Excel
    Par eras2000 dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 24/09/2008, 11h11
  3. [CGI-BIN] Probl�mes avec les appels syst�mes
    Par ozyamdias dans le forum Apache
    R�ponses: 1
    Dernier message: 27/08/2007, 17h17
  4. [Des boites et des boites][Bin packing n dimensions]
    Par Th�olude dans le forum Algorithmes et structures de donn�es
    R�ponses: 2
    Dernier message: 15/05/2007, 11h33
  5. [ALGORITHME] a propos du bin packing
    Par barbot dans le forum Algorithmes et structures de donn�es
    R�ponses: 10
    Dernier message: 05/01/2004, 23h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo