Ethan75
Messages postés2Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention15 janvier 2003
-
14 janv. 2003 à 22:37
gregotu
Messages postés6Date d'inscriptionmercredi 15 mars 2006StatutMembreDernière intervention22 août 2006
-
22 août 2006 à 16:40
Bonjour à tous,
je me heurte a un probleme en C, je prend en entrée en parametre un tableau du style ((-2,0)(4,5)(10,-34).....)
et je souhaiterais à partir de ce tableau de caractere stocker dasn un seul tableau tous mes valeurs numeriques afin d obtenir qq chose du genre tab[1]-> -2 , tab[2]->0 ,tab[3]->4 et ainsi de suite, si qq un pouvait m'aider ca serait tres gentil.Merci d 'avance, et bravo pour ce site :)
Ethan75
Messages postés2Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention15 janvier 2003 15 janv. 2003 à 07:55
-------------------------------
Réponse au message :
-------------------------------
> Bonjour à tous,
>
> je me heurte a un probleme en C, je prend en entrée en parametre un tableau du style ((-2,0)(4,5)(10,-34).....)
> et je souhaiterais à partir de ce tableau de caractere stocker dasn un seul tableau tous mes valeurs numeriques afin d obtenir qq chose du genre tab[1]-> -2 , tab[2]->0 ,tab[3]->4 et ainsi de suite, si qq un pouvait m'aider ca serait tres gentil.Merci d 'avance, et bravo pour ce site :)
voilà le debut du prog, mais bcp d erreurs a la compil que je ne sais coment regler.....
char traite_tab(char tab[])
{
int longueurtab,i,j;
j=0;
longueurtab=strlen(tab);
int letab2[150];
char chaine[20]="";
for(i=0 ; i < longueurtab ; i++)
{
if (tab[i] == '1')
{
while (tab[i] != ')' && tab[i] != ',')
{
chaine=chaine+tab[i];//pb
i++;
}
letab2[j]=int(chaine);//pb
j++;
}
//a faire pour les autres valeurs numerik
if (tab[i] == '-')
{
while (tab[i] != ')' && tab[i] != ',')
{
chaine=chaine+tab[i];//pb
i++;
}
letab2[j]=int(chaine);//pb
j++;
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 26 janv. 2003 à 16:34
Ton problème concerne le langage C et non pas C# !
Je te suggère de mieux viser la prochaine fois.
voici néanmoins une réponse
Si j'ai bien compris, tu as une chaine de caractère de la forme suivante :
"((-2,0)(4,5)(10,-34).....)"
et tu veux obtenir un tableau d'entiers
tab[0]=-2, tab[1]=0, etc...
utilise la fonction strtok , par exemple comme ceci :
gregotu
Messages postés6Date d'inscriptionmercredi 15 mars 2006StatutMembreDernière intervention22 août 2006 22 août 2006 à 16:40
Bonjour,
je suis en train de coder un logiciel de communication industrielle.
A un moment de la communication, on doit construire des trames en lisant des infos dans un buffer d'émission. Lorsqu'une trame est remplie (ce sont des trames série- limitées à 255 oct), on doit pointer sur une trame suivante. (ci-dessous, constructeur de la classe trame)
public trame(
Byte[] buffemis,
Byte[] RackT,
ushort ConnexionT,
int numbloc) ;
//les arguments du constructeurs sont des attributs propres à la classe
Mon problème est que pour construire la trame suivante, je dois remplir le champ message, mais en lisant le "buffemis" à partir d'un offset ( "buffemis + taille_trame")
trame
nxt =
new
trame
(buffer_emission + taille_trame
, Rack_, Connexion_, num_bloc + 1);
Or la notation "buffer_emission <type Byte[ ] > + taille_trame <type int>" est incorrecte pour le C#.
Quelqu'un serait-il en mesure de m'aider pour ce petit problème de syntaxe?
D'avance merci, et bravo au webmaster.