Bonjour,
je débute en C, et aucours d'un exercice de concaténation de 2 tableaux, je me heurte à une erreur lors de la compilation, qui semble porter sur la definition de ma fonction union.
Désolé de ne pouvoir fournir plus d'information que cela, et merci d'avance pour votre aide !


Le message d'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
36 | int union(float tab1[],float tab2[],float tab3[],int taille1,int taille2,int taille3)
      |          ^
main.c:36:5: error: two or more data types in declaration specifiers
   36 | int union(float tab1[],float tab2[],float tab3[],int taille1,int taille2,int taille3)
      |     ^~~~~
main.c: In function ‘main’:
main.c:77:10: error: expected ‘{’ before ‘(’ token
   77 |     union(tab1,tab2,tab3,6,5,13);
      |          ^
Le code :

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
#include <stdio.h>
 
void afficheTabFloat(float tab[], int taille)
{
    int i;
 
    for (i=0;i<taille;i++)
    {
        printf("%f ",tab[i]);
    }
    printf("\n");
}
 
int supprimeElement(float tab[], int tailleUtilisee, int position)
{
 
    int i;
    if (position>=0 && position <=tailleUtilisee) 
    {
 
        for (i=position;i<tailleUtilisee;i++)
        {
 
            tab[i]=tab[i+1];
        }
        tab[tailleUtilisee] = 0;
    }
    else
    {
        printf("Indice non valide");
    }
    tailleUtilisee--;
    return tailleUtilisee;
}
 
int union(float tab1[],float tab2[],float tab3[],int taille1,int taille2,int taille3)
{
    if (taille3>=taille1+taille2) 
    {
        for (i=0;i<=taille1+taille2;i++) 
        {
            float tempo;
            int tailleU2,tailleU1;
            tailleU1=taille1;
            tailleU2=taille2;
            if (tab1[0]>=tab2[0])
            {
                tab3[i] = tab2[0];
                tailleU2--;
                supprimeElement(tab2, tailleU2, 0);
 
            }
            else if (tab2[0]>tab1[0])
            {
                tab3[i] = tab1[0];
                tailleU2--;
                supprimeElement(tab1, tailleU1, 1);
 
            }
 
        }
 
        }
    else 
    {
        printf("Taille de n3 insuffisante\n");
    }
    return 0;
}
 
int main()
{
    float tab3[13];
    float tab1[6] = {10,12,14,16,18,20};
    float tab2[5] = {11,13,15,17,19};
 
    union(tab1,tab2,tab3,6,5,13);
    afficheTabFloat(tab3,13);
 
    return 0;
}
Si vous pouviez eclairer ma lanterne ce serait super sympa ^^