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 :

tableau a taille inconnue


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 61
    Points : 36
    Points
    36
    Par défaut tableau a taille inconnue
    bonsoir,
    je veux utiliser un tableau à taille inconnue, a chaque fois que je calcule l'indice j'ajoute une valeur à cette indice. quelle structure il faut utiliser ?

  2. #2
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    La classe vector est une bonne alternative ^^ http://www.cplusplus.com/reference/stl/vector/

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    j'ai essayé avec vector comme suit:
    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
    unsigned int x, y, channel;
    	unsigned int dx, dy;
    	unsigned int equalNeighbours;
    	unsigned int idx=0 ;
    	bool equal;
    std::vector<int> desc ;
    	// the computation
    	for(x = 2; x < lignes - 2; x++) 
    	{
    		for(y = 2; y < colonnes - 2; y++) 
    		{
    			equalNeighbours = 0;
    			for (dx = x - 2; dx <= x + 2; dx++) 
    			{
    				for(dy = y - 2; dy <= y + 2; dy++) 
    				{
    					equal = true;
    					for(channel = 0; channel < Dim; channel++)
    					{
    						if(pixelin[dy + colonnes * dx].d[channel] != pixelin[y + colonnes * x].d[channel]) 
    						{
    							equal = false;
    							break;
    						}
    					}
    					if(equal) {
    						equalNeighbours++;
    					}
    				}
    			}
     
    		  idx = 0;
    			for(channel = 0; channel < Dim; channel++) {
    				idx = idx * 6 + pixelin[y + colonnes * x].d[channel];
    				printf("idx=%d",idx);
    			}
    			printf("idx=%d et x= %d et y=%d",idx,x,y);
    			desc[idx]= 1.0/float(equalNeighbours);
    			printf("desc = %f",desc[idx]);
    mais ça bloque lors de l'execution

  4. #4
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Hum j'ai mal compris ce que tu voulais en faire peut être, je crois pas que tu puisses mettre une valeur à tel index, mais que tu es obligé de passé par un push_back... après je pense que tu peux utiliser resize pour être sûr d'avoir l'index de créé. genre par exemple tu as ton vector qui est de taille 1, mais tu veux ajouter quelque chose à 5, forcément, ça va pas marcher y a un dépassement, y a la méthode resize (http://www.cplusplus.com/reference/stl/vector/resize/) qui du coup tu fais resize(6) et là tu peux faire un vector[5] = ta valeur, maintenant que tu es sûre que la mémoire pour un 5eme emplacement est allouée !

  5. #5
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Le problème est trop vague,

    1) Quel type auront vos données dans ce tableau?
    2) Pour déterminer l'indice, je vous conseille une fonction de recherche sur un vector.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int rechercher(vector<type> vec);
    3) Je ne comprend pas ce que vous voulez faire avec votre indice, le rechercher d'accord, mais l'ajout de valeur dessus servira à faire quoi? Ça permettra de cerner le problème.

    4) Du coup vector (si autorisé) simplifie la vie, et donc la structure semble inutile, à moins que vous n'ayez pas tout dis.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Membre habitué Avatar de zhouyu
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 90
    Points : 143
    Points
    143
    Par défaut
    Je crois que tu as oublié d’initialiser ton Vector.
    Tu le déclares mais tu ne l'initialise pas une fois que tu connais la taille que tu souhaites.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Reception d'un tableau de taille inconnue
    Par bazoga dans le forum Réseau
    Réponses: 8
    Dernier message: 25/11/2013, 20h54
  2. feuil qui contient un tableau de taille inconnu
    Par pikamo dans le forum Excel
    Réponses: 4
    Dernier message: 09/06/2011, 11h33
  3. Réponses: 5
    Dernier message: 02/05/2009, 15h27
  4. Selectionner un tableau de taille inconnue
    Par pythagore3_14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/08/2008, 11h54
  5. Réponses: 9
    Dernier message: 02/08/2006, 11h31

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