Bonsoir,

Voila j'ai coder ce petit morceau de code dont le but est d'avoir un inverse symétrique 3 par 3 dans un tableau, je ne sais pas si je me suis bien expliqué, je vais donc vous donner un exemple qui seras beaucoup plus parlant:

Admettons le tableau suivant: (chaque chiffre représente une case)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1 2 3 4 5 6 7 8 9 10 11 12
Le résultat du code sera:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
10 11 12 7 8 9 4 5 6 1 2 3
J'espère que ceci est déjà plus clair, mais si besoin n'hésitez surtout pas à demander plus de détails. Le code est donc celui-ci:

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
#include <stdio.h>
#include <stdlib.h>
 
int main (void)
{
    int *Buffer;
    int *newBuffer;
    int d = 0;
    int f = 11;
    int i;
 
    Buffer = malloc (12 * sizeof (int));
    newBuffer = malloc (12* sizeof (int));
 
    if (Buffer != NULL || newBuffer != NULL)
    {
        Buffer[0] = 1;
        Buffer[1] = 2;
        Buffer[2] = 3;
        Buffer[3] = 4;
        Buffer[4] = 5;
        Buffer[5] = 6;
        Buffer[6] = 7;
        Buffer[7] = 8;
        Buffer[8] = 9;
        Buffer[9] = 10;
        Buffer[10] = 11;
        Buffer[11] = 12;
 
        while (d < 12)
        {
            newBuffer[d] = Buffer[f-2];
            newBuffer[d+1] = Buffer[f-1];
            newBuffer[d+2] = Buffer[f];
            f -= 3;
            d += 3;
        }
 
        for (i=0;i<12;i++)
        {
            printf ("%d ", newBuffer[i]);
        }
        printf ("\n");
        free (Buffer);
        free (newBuffer);
    }
    else
    {
        printf ("Allocation memoire impossible");
        free (Buffer);
        free (newBuffer);
        exit (1);
    }
 
    return 0;
}
Je voulais donc savoir si il y a des optimisations possibles pour arriver au même résultat. Merci d'avance