begin process at 2012 02 12 04:44:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

generation de nombre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

generation de nombre

vendredi 3 mai 2002 à 10:51:59 | generation de nombre

thereminder

Bonjour, mon pb est le suivant
j'ai besoin de générer 300 000 nombres aléatoires et uniques (en borland c++ builder) en donnant deux bornes (nombre min et nombre max)

Cependant, à la génération, j'ai un débordement de pile.
Comment faire pour éviter cela, et pour avoir un code optimiser ?

Merci
vendredi 3 mai 2002 à 15:03:52 | Re : generation de nombre

Blustuff

Avec Borland C++, tu peux augmenter la limite de la pile dans les options du compilateur. Tu utilise un tableu de 300 000 valeurs, ce qui est enorme. Tu ne devrait pas le déclarer dans la pile (stack), mais tu devrai le déclarer dynamiquement avec new ou avec malloc :


#incldue <malloc.h> //Pour malloc()
#include <stdlib.h> //Pour random()

#define max 34 //Valeur Max.
#define min 4 //Valeur Min.

main()
{
int* Tableau = (int*) malloc(300000*sizeof(int));
for (x = 0 ; x < 300000 ; x++)
Tableau[x] = random(max - min) + min;

free(Tableau); //Ne pas oublier de desallouer le tableau
}


Tu peux également utiliser une variable globale pour ton tableau, qui ne sera donc pas dans la pile mais dans le segment de code. Mais tu dois savoir qu'une variable globale c'est en général une mauvaise solution. Tu peux aussi remplacer malloc et free par new et Delete. La le code doit etre optimisé pour du c, tu peux essayer d'optimiser en assembleur aussi, mais je ne connais pas l'equivalent de ce code en asm. Si tu remplacer les constantes min et max, par des variables, pense a calculer max - min avant la boucle.


Blustuff.

-------------------------------
Réponse au message :
-------------------------------

Bonjour, mon pb est le suivant
j'ai besoin de générer 300 000 nombres aléatoires et uniques (en borland c++ builder) en donnant deux bornes (nombre min et nombre max)

Cependant, à la génération, j'ai un débordement de pile.
Comment faire pour éviter cela, et pour avoir un code optimiser ?

Merci


Cette discussion est classée dans : nombre, generation


Répondre à ce message

Sujets en rapport avec ce message

generation nombre aleatoire sous dev cpp [ par dionysos ] Bonjour,En c, sous dev cpp, comment generer des nombre de façon aleatoire (entiers) ?Quelle(s) bibliotheque(s)?Quelle(s) fonction(s)?J'ai pensé à rand Compter les lignes d un fichier texte [ par DeepThroat ] Bonjour a tous !J'aimerai trouver une fontion simple qui retourne le nombre de lignes dans un fichier , ou bien qui affiche ce nombre de lignes.j'imag Probleme rand() et for [ par vanpet ] je suis nouveau en C++ (je migre de VB6) et il y a quelques petites choses que l'aide de Microsoft ne parvient pas a me faire comprendre... (pourquoi vérifier les doublons [ par cognac ] Bonjour,J'ai fai ce petit prog. qui vérifi les doublons dans un tableau. Comme je suis débutant et que ce prog est un de mes premiers je me demande si Tableau de char* [ par alex1er ] Salut a tousJ'aimerais faire la déclaration suivante dans mon code : char * swSurface[]; //Tableau de char * doncSeulement, le compilo me jete car le conversion double en string [ par bouba ] Bonjour, je réalise une fonction qui doit calculer le nombre de caractères d'un doubleexemple:-7.56 -> 5 caractèreExiste t'il une fonction qui fasse c Strcat avec un chiffre entier [ par Athanor ] Je voudrais concaténer une chaine avec un nombre entier, je sais bien questrcat(nomchaine, 123);ne marche pas, mais même en transformant mon chiffre e savoir si un nombre est entier [ par bernic ] Comment faire pour savoir si un nombre stocké dans une variable float est entier ? Somme d'entiers [ par PiraTmaT ] Bonjour,Je dispose d'une suite d'un certain nombre d'entiers aléatoires inférieurs ou égaux à 100.Je dois déterminer s'il est possible de regrouper un convertir les nombres en lettres [ par djamine ] salut les amisje cherche un code pour convertir les nombres (1 2 3 .....) en lettres ( un, deux , trois....)l'utilisateur donne le nombre et le progra


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,496 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales