| Dimension d'un tableau de chaînes. | |
|
|
|
Auteur | Message |
---|
papydall
Nombre de messages : 7009 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 15:48 | |
| D’accord je répète bien ta phrase, après que tu ne sèche pas sur celle-là
Un comte comptant ses comptes, content de son comté, raconte un conte, d’un comte con comptant des comptes mécontents, en contant un conte contant un comte con mécontent se contentant d’un compte con en mangeant son comté
| |
|
| |
pan59
Nombre de messages : 367 Age : 66 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 17:05 | |
| Bonjour.
Voici mon code modifié.
J'ai toujours cette maudite erreur 'Out of memory', après la lecture de 30.000 lignes du dico.
C'est incompréhensible !!Il semblerait que les 2 lignes suivantes soient incompatibles: chaine$=chaine$+b$+"#" dico$(i%)=b$Car si l'on enlève l'une ou l'autre, plus de problème de mémoire !! - Code:
-
dim a$, b$, chaine$ dim i%
dim dico$(42000)
file_open_read 1,"c:\perso\langues\traducteur\dictionnaires\dico_espagnol.dat"
' Lignes de titre. file_readln 1,a$ file_readln 1,a$
i%=0
while file_eof(1)<>1
' maison;fs;casa;fs; file_readln 1,a$ if a$="FIN" then exit_while
i%=i%+1 if mod(i%,1500)=0 then print i%
b$=left$(a$,instr(a$,";")-1) chaine$=chaine$+b$+"#"
dico$(i%)=b$
end_while
| |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 17:26 | |
| @Pan59,
à la ligne 24: chaine$=chaine$+b$+"#"
chaine$ n'est pas remis à zéro dans ta boucle (chaine$="") , je pense que c'est çà le problème chaine$ doit finir par être trop longue.
A+
PS: en te relisant, je m'aperçois que tu as vu le problème.
| |
|
| |
pan59
Nombre de messages : 367 Age : 66 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 17:38 | |
| Bonjour.
Non, je ne pense pas que le problème vienne de la variable chaine$.
Sa longueur étant de 470.819 octets, lorsque j'enlève la ligne suivante:
dico$(i%)=b$
Et dans ce cas-là, plus de problème de mémoire.
J'avoue que je ne comprends vraiment pas. | |
|
| |
papydall
Nombre de messages : 7009 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 17:39 | |
| Jean Claude a vu juste ! Par ailleurs à quoi sert la variable chaine$ ? Elle est continuellement rallongée et elle n’est utilisée nulle part ! L’utilises-tu ailleurs dans un autre endroit du programme ?
| |
|
| |
pan59
Nombre de messages : 367 Age : 66 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 17:40 | |
| Bonjour JC.
Oui, la variable est utilisée dans la suite du programme.
Elle est utilisée pour sdvoir si un mot quelconque figure dans le dico. | |
|
| |
pan59
Nombre de messages : 367 Age : 66 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 17:54 | |
| Bonjour.
Il y a bien un problème d'affectation de variables dans panoramic.
Car, lorsque j'exécute le programme en 2 temps, plus aucun problème de mémoire. - Code:
-
dim a$, b$, chaine$ dim i%, v%
Label lire_dico
dim dico$(42000)
v%=1 gosub lire_dico v%=2 gosub lire_dico
message str$(len(chaine$))
end
lire_dico: file_open_read 1,"c:\perso\langues\traducteur\dictionnaires\dico_espagnol.dat"
' Lignes de titre. file_readln 1,a$ file_readln 1,a$
i%=0
while file_eof(1)<>1
' maison;fs;casa;fs; file_readln 1,a$ if a$="FIN" then exit_while
i%=i%+1 if mod(i%,1500)=0 then print i%
b$=left$(a$,instr(a$,";")-1) if v%=1 then chaine$=chaine$+b$+"#" if v%=2 then dico$(i%)=b$
end_while file_close 1 return | |
|
| |
papydall
Nombre de messages : 7009 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Dimension d'un tableau de chaînes. Sam 22 Sep 2012 - 18:10 | |
| @pan59 Essaye ceci : Ajoute une ligne DIM j% ( si tu as déjà j%, choisis un autre nom) Mets la ligne 24 en REM Après END_WHILE ajoute ceci - Code:
-
i% = i% -1 for j% = 1 to i% : chaine$ = chaine$ + dico$(j%) + "#" : next j%
| |
|
| |
Contenu sponsorisé
| Sujet: Re: Dimension d'un tableau de chaînes. | |
| |
|
| |
| Dimension d'un tableau de chaînes. | |
|