begin process at 2008 07 06 02:23:23
1 205 433 membres
14 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

2293 commentaire(s) de BruNews sur des sources sur cppfrance

Le : 27/06/2008 11:38:14
Source : TRONQUER LES ZERO INUTILES D'UN NOMBRE A L'AFFICHAGE
Tout ceci relève de l'exercice perso mais n'est pas un code qui apportera quoi que ce soit à un débutant. Il convient donc de garder ce genre d'essai sur son disque dur.

sprintf() retourne déjà la longueur insérée, strlen est donc nuisible aux perfs.


Le : 26/06/2008 14:48:07
Source : RESISTANCE EQUIVALANTE DE RESISTANCES EN SERIE OU PARALLELE
Si tu indexais l'itérateur à 0, tu écrirais simplement:
for(int i = 0; i < inbresistor; i++) resistor[i]....plus besoin de '-1' partout.


Le : 25/06/2008 23:01:24
Source : HOOK SYSTEM SUR WM_MOUSEWHEEL (WIN32)
Faudrait avoir le matériel pour tester, ce qui n'est pas mon cas mais j'espère que tu nous informeras.


Le : 18/06/2008 20:01:42
Source : LE QUICKSORT NON-RECURSIF ET L'IMPACT DE L'INSERTIONSORT SUR SES PERFORMANCES
Pour ce qui est du multi thread, je ne suis pas convaincu du tout d'aller créer un thread pour un algo restant dans les milli secondes. La crétion d'un thread risque fort de consommer autant que le temps de tri.


Le : 18/06/2008 19:56:57
Source : LE QUICKSORT NON-RECURSIF ET L'IMPACT DE L'INSERTIONSORT SUR SES PERFORMANCES
Salut,

le gros problème avec ce genre de tri c'est qu'il ne peut aller en prod dans un prog qui effectue des tris sur de gros tableaux pour la simple raison qu'il fait une alloc qui risque de ne pas réussir. Un algo de tri doit fonctionner à tout coup et la seule méthode certaine est un tri sur place sans aucune alloc.
On évacue la discussion sur la récursivité, il est clair que si un quicksort est récursif, il ne reste que le 'sort' mais plus du tout le 'quick'.

Essaie avec ça, j'ai fait qlqs tests et il me semble que c'est au moins aussi rapide (voire +) avec garantie de finir le tri qlq soit la taille du tableau:

#define STKSIZ (8 * sizeof(void*) - 2)

__inline void ShortsortLong(int *lo, int *hi)
{
  int *p, *max, v;
  while(hi > lo) {
    max = lo;
    for(p = lo + 1; p <= hi; p++) {
      if(*p > *max) max = p;
    }
    v = *max; *max = *hi; *hi = v;
    hi--;
  }
}

void __stdcall triInts(int *ptab, DWORD count)
{
  int *lo, *hi, *mid, *loguy, *higuy, v;
  int *lostk[STKSIZ], *histk[STKSIZ];
  size_t size;
  int stkptr = 0;
  lo = ptab;
  hi = lo + (count - 1);   /* DERNIER ELEM */
recurse:
  size = (hi - lo) / sizeof(long) + 1;   /* NBR ELEMS A TRIER */
  if(size <= 8) {
    ShortsortLong(lo, hi);
    goto goSTACK;
  }
  mid = lo + (size / 2);   /* ELEM CENTRAL */
  if(*lo > *mid) {v = *lo; *lo = *mid; *mid = v;}
  if(*lo > *hi) {v = *lo; *lo = *hi; *hi = v;}
  if(*mid > *hi) {v = *mid; *mid = *hi; *hi = v;}
  loguy = lo;
  higuy = hi;
  for(;;) {
    if(mid > loguy) {
      do {
        loguy++;
      } while(loguy < mid && *loguy <= *mid);
    }
    if(mid <= loguy) {
      do {
        loguy++;
      } while(loguy <= hi && *loguy <= *mid);
    }
    do {
      higuy--;
    } while (higuy > mid && *higuy > *mid);
    if(higuy < loguy) break;
    v = *loguy; *loguy = *higuy; *higuy = v;
    if(mid == higuy) mid = loguy;
  }
  higuy++;
  if(mid < higuy) {
    do {
      higuy--;
    } while(higuy > mid && *higuy == *mid);
  }
  if(mid >= higuy) {
    do {
      higuy--;
    } while(higuy > lo && *higuy == *mid);
  }
  if(higuy - lo >= hi - loguy) {
    if(lo < higuy) {
      lostk[stkptr] = lo;
      histk[stkptr] = higuy;
      ++stkptr;
    }
    if(loguy < hi) {
      lo = loguy;
      goto recurse;
    }
  }
  else {
    if(loguy < hi) {
      lostk[stkptr] = loguy;
      histk[stkptr] = hi;
      ++stkptr;
    }
    if(lo < higuy) {
      hi = higuy;
      goto recurse;
    }
  }
goSTACK:
  if(--stkptr >= 0) {
    lo = lostk[stkptr];
    hi = histk[stkptr];
    goto recurse;
  }
}


Le : 10/06/2008 13:51:46
Source : RÉSOUDRE UNE ÉQUATION POLYNOMIALE
SVP, ne plus mettre de fichier ncb dans le zip, immense et inutile, il est reconstruit quand on ouvre le projet.
Fichier user idem inutile.


Le : 07/06/2008 09:53:13
Source : CONVERTISSEUR BINAIRE - DECIMAL - HEXADECIMAL (MODE CONSOLE)
Cette "source" sera enlevée dimanche soir au plus tard.


Le : 04/06/2008 10:36:04
Source : CRÉER UN EFFET À LA FERMETURE DE LA PAGE
Un appel MoveWindow, même en boucle, ne justifie pas une source.


Le : 04/06/2008 10:26:12
Source : ADRESSE BOOK
Cette série de printf,gets et fputs n'apporte rien de nouveau en terme de prog qui ne se trouve déjà en de très nombreux exemplaires sur cppfrance.


Le : 27/05/2008 19:19:58
Source : FLOAT EN HEXA (WIN32, ASM)
"Je laisse aussi de côté le fait que SSE n'est pas une plateforme stable (déjà abandonnée en 64bits)"

Ce n'est pas un "abandon" pour l'IA64 (Itanium), simplement que l'architecture est radicalement différente du x86. SSE est par contre bien présent en mode x64 et c'est même ainsi qu'on l'exploite au mieux.

En ce qui concerne cet "abandon", regarde ici:
http://www.silicon.fr/fr/news/2008/05/26/serveurs_hp_devance_ibm
2,27 millions de serveurs x86 vendus au 1er trimsetre 2008 rien que pour HP. Faudrait plutot parler du quasi abandon du IA64.
SSE est en très bonne santé et installé pour un bon bout de temps.



Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS