zied86
Messages postés85Date d'inscriptiondimanche 5 mars 2006StatutMembreDernière intervention 4 août 2014 26 févr. 2007 à 23:15
#include<stdio.h>
#include<string.h>
main()
{char mac[]="0016.35AA.153C";
int i,j,n;
/*eliminer les '.' de la premiere adresse mac*/
for(i=0;i<strlen(mac);i++)
if(mac[i]=='.')
for(j=i;j<strlen(mac);j++)
mac[j]=mac[j+1];
/*taille de la chaine de la nouvelle adresse*/
n=(strlen(mac)+((strlen(mac)/2)-1));
/*declaration de la nouvelle chaine*/
char mac2[n];
/*creation de la nouvelle adresse*/
for(i=0,j=0;i<=strlen(mac);i++,j++)
if(i%2==0&&i!=0&&i!=strlen(mac))
{mac2[j]='-';
j++;
mac2[j]=mac[i];
}
else
mac2[j]=mac[i];
/*affichage de la nouvelle adresse*/
puts(mac2);
}
zied86
Messages postés85Date d'inscriptiondimanche 5 mars 2006StatutMembreDernière intervention 4 août 2014 27 févr. 2007 à 21:32
oh Mr. [auteurdetail.aspx?ID=39449 BruNews] et Mr. [auteurdetail.aspx?ID=830917 sam20] verifier la solution que j'ai deja proposer qucun octet va etre perdu car j'ai deja declarer une 2eme variable suplementaire que j'ai appeler mac2.
SVP verifier avant de mettere vos commentaire.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 27 févr. 2007 à 21:53
A toi de suivre la discussion, tu aurais vu que c'est de la version sam20 dont on parlait.
De la tienne on a déjà dit ce qu'on en pensait: Tu amuses le cpu inutilement, ce qui se fait en 17 cycles comme je l'ai montré tout au début, tu nous proposes un fonction avec d'innombrables calculs pour un truc hyper simple.