Bonsoir,

Avec la fonction readandparse, je lis et ecris le contenu de la variable info dans un tableau bidimensionel. Dans le tableau bidimensionel,les donnees doivent être structurees comme ceci:
t[0][0] = 12,25
t[1][0] = 12,55
t[2][0] = 11,89
t[3][0] = 12,3
Jusqu´ici sa va.

Dans la suite j´aimerais passer progressivement le contenu du tableau bidimensionel vers un tableau unidimensionel. Helas je bloque !! Bref, j´aimerais que le tableau unidimensionel command[max_size] receptione sucessivement 12,25 puis 12,55 puis 11,89 et 12,3.
Mais je coince.

Merci d´avance.

Mon programme:
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
 
#include <stdio.h>
#include <stdlib.h>
 
#define max_index 6
#define element 5
#define max_size 6
 
char info[] = {"D12,25FD12,55FD11,89D12,3F"};
char t[max_index][element];
char command[max_size];
unsigned int size = 0;
 
size_t j = 0;
size_t i = 0;
 
size_t Number_index = 0; // Number index of table
 
size_t N = sizeof(t) / sizeof(t[j][0]);// Nombre d'élément total du tableau
size_t M = sizeof(t[0]) / sizeof(t[j][0]); // nombre d´elements d´une ligne
 
 
void Transfer_Data(char * pointer1, size_t N1, size_t M1)
{
  unsigned int n = 0;
  size_t j1 = 0  ;
  size_t i1 = 0  ;
 
   for(n = 0; pointer1[n] != 0; n++)
   {
     if(j1 < N1)
     {
        if(i1 < M1)
        {
          if(size < max_size)
          {
             command[size] = pointer1[n];
             printf("%c", command[size]);
             ++size;
             ++i1;
          }
        }
        else
        {
            printf("\n");
            ++j1;
            i1 = 0;
            size = 0;
        }
      }
    }
}
 
void readandparse(char * pointer)
{
  char data;
  int k;
  for(k = 0; pointer[k] != 0; k++)
  {
    data = pointer[k];
 
    if(data == 'F')
    {
      ++j;
      printf("\n");
     // printf("%d\n", sizeof(t)); // Taille actuelle de t
    //  printf("Reception du caractere: F!\n");
      printf("\n");
    }
    else if(data == 'D')
    {
      printf("\n");
     // printf("Reception du caractere D: !\n");
      printf("\n");
      i = 0;
 
    }
 
    else
    {
      if(j < max_index)
      {
        if(i < element)
         {
           t[j][i] = data; // ecrire dans un tableau bidimensionel
           printf("%c", t[j][i]);
           ++i;
 
         }
      }
    }
  }
}
 
 main()
{
    readandparse(info);
    j = 0;
    Transfer_Data(&t[0][0], max_index, element);
    return 0;
}