Position POINT et tableau 2 dimension

sokotanic Messages postés 116 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 19 mai 2012 - 1 févr. 2011 à 18:30
sokotanic Messages postés 116 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 19 mai 2012 - 4 févr. 2011 à 15:19
bonjour à t.l.m.

je souhaite recuperer la position x et y de la souris et la mettre dans un tableau 2 dimensions et afficher cette position dans un printf mais je n'arrive pas à le faire

#include <stdio.h>
#include <windows.h>

int main()
{
POINT point;

int x = 0;
int y = 0;

int tableau[][] = 0;



while(1)
{
GetCursorPos(&point);
x = point.x;
y = point.y;
if(GetAsyncKeyState(VK_LBUTTON) )
{
for(int i = 0; i<nombre_de_clique, i++)
{
for(int j = 0; j<nombre_de_clique, j++)
{
    tableau[i][j] = x,y;
}
}
printf("%d",tableau[i][j]);
}


}


je me trompe surement dans les tableaux, est ce qu'il a quelqu'un qui peut m'aidé s'il vous plait ? merci d'avance

7 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
2 févr. 2011 à 10:40
Hello,
Ton tableau n'est ni alloué, ni initialisé.
De plus, la variable "nombre_de_clique" n'est pas déclarée...
ça compile??

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Rejoignez mon réseau professionnel sur Viadeo
0
sokotanic Messages postés 116 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 19 mai 2012
2 févr. 2011 à 14:17
re-salut
non ça ne compile pas, ça fait deux ans que je n'ai pas programmé, et là je veux fabriquer un truc c'est tout.
je suis sûr que le problème est un problème de tableau puis-je avoir la correction ? merci d'avance
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
2 févr. 2011 à 15:07
Soit tu le fais statiquement, si tu connais la taille de ton tableau, mettons 10x10:
int tableau[10][10];

soit tu le fais dynamiquement
int ** tableau = (int**)malloc(hauteur x sizeof(int*));
for (int i=0;i<hauteur;i++)
{
tableau[i]= (int*)malloc(largeur x sizeof(int));
for (int j=0;j<largeur;j++)
{
tableau[i][j]=10;
}
}
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
sokotanic Messages postés 116 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 19 mai 2012
2 févr. 2011 à 22:23
merci beaucoup.
pouvez-vous m'explique ce ligne:
int ** tableau = (int**)malloc(hauteur x sizeof(int*));

pourquoi les deux pointeurs... ?

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
3 févr. 2011 à 09:23
Parce que tu veux un tableau 2D. Tu as donc
- un tableau de int*
- chaque case de ce tableau pointe sur un int* --> int**

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_Chouchou182 Messages postés 252 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 25 avril 2011 1
3 févr. 2011 à 09:46
Salut,

pourquoi les deux pointeurs... ?


Je me posais la même question : pourquoi un tableau
bidimensionnel ?

Que souhaites-tu stocker dans la case d'indices i, j ?

À mon avis, tu veux stocker deux coordonnées dans une seule case
d'un tableau unidimensionnel. Un peu comme le ferait le
programme suivant, n'est-ce pas ?

#include<stdio.h>
#include<windows.h>

const int NB_CLICK = 10;

int
main()
{
  POINT tab[NB_CLICK];
  
  int i;
  for (i = 0 ; i < NB_CLICK ; ++i)
  {
    printf("%d ", i);

    getchar();

    GetCursorPos(tab+i);
  }
  
    for (i = 0 ; i < NB_CLICK ; ++i)
      printf("Click %d: x %5ld; y %5ld\n",
        i, tab[i].x, tab[i].y);

  return 0;
}


Bonne prog,
0
sokotanic Messages postés 116 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 19 mai 2012
4 févr. 2011 à 15:19
Merci pour vos deux, merci beaucoup, j'ai besoin de ces deux solutions, Merci encore
0
Rejoignez-nous