Manipulation de grand tableaux d'entier [Résolu]

Signaler
Messages postés
5
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
7 juillet 2008
-
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
-
Bonjour,
Pour acceler un programme VBA, j'ai introduit une dll dans laquelle notamment
je cherche a remplir des tableaux tres grand ( j'aimerais atteindre 10^10 elements...) avec des entier entre 1 a 10.
je voudrais ensuite affecter a mon tableau (que je dois garder de type short int pour une exportation vba) le reste de i modulo 10 i allant de 1 a nb_val
le probleme est que si j'utilise fmod je doit avoir des elements de type float a long double
Ce que je ne comprends pas c'est que le type long reste quand meme un nombre entier, normalement l'operateur % devrait marcher.

Merci de vos suggestions.

Mon "code":

#include

"stdafx.h"#include

"stdlib.h"#include

"math.h"#include

"ma_fonction.h"long

double
__stdcall seedgeneration(
short
int*seed_array ,
long nb_val){
long

i;
for

(i=0; i<nb_val; i++){seed_array[i] =

i%10;}

return

(0); }

4 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
Tu peux remplacer les long par des int qui sont indentiques (même taille : sizeof(int) == sizeof(long)).
Cdt
Messages postés
5
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
7 juillet 2008

merci beaucoup!
Messages postés
5
Date d'inscription
lundi 4 décembre 2000
Statut
Membre
Dernière intervention
7 juillet 2008

Je ne peux pas stocker plus de 250 millions d elements dans mon tableau
apres j'ai l'erreur "out of memory"

pourtant idealement j'aimerait tatonner le 100 milliards...


qq1 aurait il une suggestion?

d'avance merci
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
En enregistrant dans un fichier texte au fur et a mesure.
Cdt