1

J'ai créer une petite macro pour aller chercher des données dan la ram comme s'il s'agissait d'un tableau:

ptr=malloc(15100*sizeof(int));
#define mon(l,c) ptr[(l)*151+c];

mais je ne peut pas m' en servir comme d'un tableau:

sprintf(ch_cara,"%d",mon(0,8));
ou
if(mon(0,8)<10) goto deb;

ne marche pas ("parse error before token")

Comment faire?
tsss
Vive le coding gba.
www.codegba.fr.st

2

Essaies ça :

int *ptr;
char ch_cara[20];
ptr = (int*)malloc(15100*sizeof(int));
sprintf(ch_cara,"%d",ptr[8]);

3

mat : il faut avoir à l'esprit que le contenu d'une macro sera inséré ([pub]en théorie, mais en pratique, dans les compilateurs performants comme Azur c'est un peu différent, le préprocesseur est entrelacé avec le compilateur, on précompile simultanément si tu veux[/pub]) à l'endroit de son appel.

Cela signifie que si tu définis la macro mon comme étant ptr[(l)*151+c]; en utilisant la macro le compilateur lira ceci : sprintf(ch_cara, "%d", ptr[(0)*151+8];);

De plus, il ne faudrait pas plutôt multiplier par 15100 dans la macro, plutôt que par 151 confus

[edit]Edité par Thibaut le 17-02-2002 à 15:58:34[/edit]
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

4


non non par 151 car mon simule un tableau mon[100][151]grin

par contre l'astuce de ZdRUbAI à l'air de marcher mais y'aurai pas un truc plus pratique
(en utilisant la p'tite macro)?
[edit]Edité par mat le 17-02-2002 à 15:18:35[/edit]
Vive le coding gba.
www.codegba.fr.st

5

.... je viens de t'expliquer pourquoi la macro telle que tu l'as écrite ne fonctionne pas...
Les newbies, des fois, mad


Bon je t'en veux pas wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

6

OK j'utilise l'astuce zdrubaimiam
Vive le coding gba.
www.codegba.fr.st

7

Bordel rage

Lit le post numéro 3 de ce topic. Il y a deux choses écrites en rouge à l'intérieur. Tu devrais comprendre où est ton erreur quand même roll
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

8

Et oui, ce n'est qu'en essayant de comprendre ce qu'on l'on écrit que l'on progresse ...
Mais pourquoi utiliser une macro ici ... ?

9

Pour éviter de devoir écrire le calcul à chaque accès au tableau !
mat : ZdRUbAl a raison, il faut comprendre par toi-même pour progresser, c'est pour ça que je n'ai pas donné la réponse explicitement. Enfin, j'ai été gentil parceque je l'ai presque donnée doom
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

10

Ben en fait vu que qu'il fait :

ptr=malloc(15100*sizeof(int));

Si plus tard il change de taille le tableau se sera plus facile pour lui de changer le 151 dans "#define mon(l,c) ptr[(l)*151+c]" que de le changer partout dans son code...
Epitech - Ecole pour l'informatique et les nouvelles technologies

Shinjuku@ifrance.com
MSN : Shinjuku83@hotmail.com

11

oui, en plus attention
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

12

Ah ça y est j'ai compris, en plus ça marche à la perfection...
C'est que j'suis un peu daltonien ... non j' rigole, faut avouer que j'dois être un peu long à la détente.
Mercizzz
Vive le coding gba.
www.codegba.fr.st

13

de rien wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

14

Il y a plus simple!
http://tigcc.ticalc.org/doc/faq.html#37
Lis bien tout le discours, ce n'est pas la première méthode donnée qui est la meilleure (c'est la troisième).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

il est où le discours? confus
Vive le coding gba.
www.codegba.fr.st

16

La réponse à la question.