Fonction pour ranger un tableau en C
xtimas
-
xtimas -
xtimas -
Bonjour,
je débute en langage C , et je veux définir une fonction qui prend les 16 valeurs en hexa d'un tableau et les range 4 à 4 dans un autres tableau de façon a ce que la valeur de poids fort devient celle de poids faible et vis vers ça ..
par exemple:
tableau1:
tab1[16]= {0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};
tableau 2:
tab2[4]=
{0x33221100, 0x77665544, 0xbbaa9988, 0xffeeddcc};
pouvez vous m'aider svp?
merci d'avance
je débute en langage C , et je veux définir une fonction qui prend les 16 valeurs en hexa d'un tableau et les range 4 à 4 dans un autres tableau de façon a ce que la valeur de poids fort devient celle de poids faible et vis vers ça ..
par exemple:
tableau1:
tab1[16]= {0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};
tableau 2:
tab2[4]=
{0x33221100, 0x77665544, 0xbbaa9988, 0xffeeddcc};
pouvez vous m'aider svp?
merci d'avance
A voir également:
- Fonction pour ranger un tableau en C
- Tableau word - Guide
- Fonction si et - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
3 réponses
Bonjour,
Tu fais une boucle for qui incrémente de 4.
Ensuite, dans chaque itération, tu fais des décalages comme il faut (>>).
Je te laisse faire le début de la fonction, pour te corriger si besoin.
Tu fais une boucle for qui incrémente de 4.
Ensuite, dans chaque itération, tu fais des décalages comme il faut (>>).
Je te laisse faire le début de la fonction, pour te corriger si besoin.
Bonjour,
Essai ça, je n'ai pas de compilateur C pour tester, mais cela doit être très proche de ça...
Essai ça, je n'ai pas de compilateur C pour tester, mais cela doit être très proche de ça...
int tab[16]=................; int tab2[4]; int inc; int inc2 = 0; for(inc=0;inc<16;inc=inc+4) { tab2[inc2]=tab[inc+3]*0x1000000+tab[inc+2]*0x10000+tab[inc+1]*0x100+tab[inc]; inc2++; } }
merciiiii,
j'ai essayé et ça marche bien
#include <stdio.h>
#include <conio.h>
int main()
{
int tab1[16]={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};
int tab2[4];
int inc;
int inc2 = 0;
for(inc=0;inc<16;inc=inc+4)
{
tab2[inc2]=tab1[inc+3]*0x1000000+tab1[inc+2]*0x10000+tab1[inc+1]*0x100+tab1[inc];
inc2++;
}
printf("\n tab1 est:%.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX",
tab1[0], tab1[1], tab1[2], tab1[3],tab1[4], tab1[5], tab1[6], tab1[7],
tab1[8], tab1[9], tab1[10], tab1[11],tab1[12], tab1[13], tab1[14], tab1[15]);
printf("\n tab2 est:%.8lX %.8lX %.8lX %.8lX ",tab2[0], tab2[1],tab2[2], tab2[3]);
getch();
}
encore merci :)
j'ai essayé et ça marche bien
#include <stdio.h>
#include <conio.h>
int main()
{
int tab1[16]={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};
int tab2[4];
int inc;
int inc2 = 0;
for(inc=0;inc<16;inc=inc+4)
{
tab2[inc2]=tab1[inc+3]*0x1000000+tab1[inc+2]*0x10000+tab1[inc+1]*0x100+tab1[inc];
inc2++;
}
printf("\n tab1 est:%.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX %.2lX",
tab1[0], tab1[1], tab1[2], tab1[3],tab1[4], tab1[5], tab1[6], tab1[7],
tab1[8], tab1[9], tab1[10], tab1[11],tab1[12], tab1[13], tab1[14], tab1[15]);
printf("\n tab2 est:%.8lX %.8lX %.8lX %.8lX ",tab2[0], tab2[1],tab2[2], tab2[3]);
getch();
}
encore merci :)