Bonjour à tous !
Je suis confronté à un problème pour inverser l'ordre des éléments d'un tableaux à deux dimensions; notamment pour inverser les lignes. En réalité, j'arrive à inverser l'ordre des éléments de la première ligne et non des suivantes ..

PS: l'encodage et l'affichage se fait par pointeur, l'inversion n'étant par pointeur car c'est pour me faciliter la tâche, je mettrai l'inversion avec des pointeurs lorsque la version par indice fonctionnera !
Voici mon code source:

Et en prime, voilà un screenshot lorsque j'encode et je veux inverser
[IMG=http://img521.imageshack.us/img521/3608/tabdeux.png][/IMG]
Uploaded with ImageShack.us

Merci de prendre mon problème en considération
Cracko'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
#include <stdio.h>
#define VMAX 10
void main()
{
	int tab[VMAX][VMAX],i,j,nbl,nbc,*pt,temp,etat,k;
	do
	{
		printf("Saisir le meme nbres de lignes et de colonnes");
		fflush(stdin);
		scanf("%d",&nbl);
	}while(nbl<0||nbl>10);
	nbc=nbl;
	//encodage tableau
	printf("\nEncodage du tableau\n");
	pt=&tab[0][0];
	for(i=0;i<nbl;i++)
	{
		for(j=0;j<nbc;j++)
		{
			printf("[%d][%d]",i,j);
			fflush(stdin);
			scanf("%d",pt);
			pt++;
		}
	}
	//Affichage du tableau
	printf("Affichage du tableau");
	pt=&tab[0][0];
	for(i=0;i<nbl;i++)
	{
		for(j=0;j<nbc;j++)
		{
			printf("\n[%d][%d]:%d",i,j,*pt);
			pt++;
		}
	}
              //boucle qui inverse l'ordre des lignes du tableau, c'est ici que ça coince
		for(i=0;i<nbl-1;i++)
		{
			for(j=0,k=nbc-1;j<k;j++,k--)
			{
				temp=tab[i][j];
				tab[i][j]=tab[i][k];
				tab[i][k]=temp;
			}
		}
		printf("\nAffichage\n");
		//Affichage du tableau inverse
		pt=&tab[0][0];
		for(i=0;i<nbl;i++)
			{
				for(j=0;j<nbc;j++)
				{
					printf("\n[%d][%d]:%d",i,j,*pt);
					pt++;
				}
			}
		fflush(stdin);
		getchar();
 
 
}