Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2406 connectés 

 


Dernière réponse
Sujet : [VC++] Stack overflaw
juldjin ouais mais moi je suis pas un maitre en algorithmes :jap:  
 
apres je vais exporter les formes en .shp alors respect comme meme pour un stagiaire de dut info...
 
merci
 
et si vous avez d'autres solutions a me proposer faites offre

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
juldjin ouais mais moi je suis pas un maitre en algorithmes :jap:  
 
apres je vais exporter les formes en .shp alors respect comme meme pour un stagiaire de dut info...
 
merci
 
et si vous avez d'autres solutions a me proposer faites offre
darkoli je pense qu'il est possible d'ameliorer un peu cet algo et c'est evident que pour ce genre de probleme, la recursivité n'est pas le meilleur choix (meme si c'est plus facile a programmer).
 
Faut reflechir un peu en fait !!!
wpk surtout qu'il y'a des methodes topologiques pour faire ca... et t'as plus du tout de recurss.
verdoux Ouais ben c'est un boulot de sagouin :D
juldjin voici ma fonction qui compte le nombre de pixels par formes :
 
void MONIMAGESEGM::compte(int x,int y,int &somme)
{  
   if (x<0 || x>=im.tailleX || y<0 || y>=im.tailleY)  
      return; // si les coordonnées de la case à tester ne sont pas valides  
   else if (temp[x][y] == -1 || temp[x][y] == 1)  
      return; // si la case a déjà été marquée ou n'appartient pas à la forme  
   else  
   {  
      temp[x][y]=1; // on marque la case  
      somme++;  // on ajourte 1 au nombre de pixels de la forme  
   
   if(x > 0) compte(x-1,y,somme);
   if(x < im.tailleX - 1) compte(x+1,y,somme);
   if(y > 0) compte(x,y-1,somme);
   if(y < im.tailleY - 1) compte(x,y+1,somme);
   if(x > 0 && y > 0) compte(x-1,y-1,somme);
   if(x > 0 && y < im.tailleY - 1) compte(x-1,y+1,somme);
   if(x < im.tailleX - 1 && y > 0) compte(x+1,y-1,somme);
   if(x < im.tailleX - 1 && y < im.tailleY - 1) compte(x+1,y+1,somme);
   }  
}  
 
imaginé si une forme fait la moitié d'une image de 1024*768... :cry:  :cry:  :cry:  :cry:
juldjin voici ma fonction qui compte le nombre de pixels par formes :
 
void MONIMAGESEGM::compte(int x,int y,int &somme)
{  
   if (x<0 || x>=im.tailleX || y<0 || y>=im.tailleY)  
      return; // si les coordonnées de la case à tester ne sont pas valides  
   else if (temp[x][y] == -1 || temp[x][y] == 1)  
      return; // si la case a déjà été marquée ou n'appartient pas à la forme  
   else  
   {  
      temp[x][y]=1; // on marque la case  
      somme++;  // on ajourte 1 au nombre de pixels de la forme  
   
   if(x > 0) compte(x-1,y,somme);
   if(x < im.tailleX - 1) compte(x+1,y,somme);
   if(y > 0) compte(x,y-1,somme);
   if(y < im.tailleY - 1) compte(x,y+1,somme);
   if(x > 0 && y > 0) compte(x-1,y-1,somme);
   if(x > 0 && y < im.tailleY - 1) compte(x-1,y+1,somme);
   if(x < im.tailleX - 1 && y > 0) compte(x+1,y-1,somme);
   if(x < im.tailleX - 1 && y < im.tailleY - 1) compte(x+1,y+1,somme);
   }  
}  
 
imaginé si une forme fait la moitié d'une image de 1024*768... :cry:  :cry:  :cry:  :cry:
wpk si, y'a toujours le choix ;)
soit tu derecurssifie a la main et la c'est toi qui gere la taille de la pille (c'est pas dur, faut juste etre methodique)
soit tu changes d'algo

 

[edit]--Message édité par wpk--[/edit]

juldjin ben dans la mesur ou je doit reconnaitre des formes de tres grandes tailles sur des images de tres grandes tailles, je n'ai pas trop le choix... :sarcastic:
BENB

juldjin a écrit a écrit :

j'ai fais une fonction de récurtion qui a mon avis ne plante pas, mais requiert un nombre tres important de recursions, mon prog marche plus à la 17151 eme.
 
est ce que l'on peut agrandir le truc stack ou pas ?




Oui on peut :D
Mais est-il raisonnable de faire plus de 17150 recursions ?

juldjin j'ai fais une fonction de récurtion qui a mon avis ne plante pas, mais requiert un nombre tres important de recursions, mon prog marche plus à la 17151 eme.
 
est ce que l'on peut agrandir le truc stack ou pas ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)