IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Algorithme d'union de 2 tableaux


Sujet :

C

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2020
    Messages : 5
    Par défaut Algorithme d'union de 2 tableaux
    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 ^^

  2. #2
    Membre expérimenté

    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 329
    Par défaut
    "union" est un mot-clef réservé en C.
    Il sert à créer des structures de données "spéciales" où tous les champs occupent le même espace mémoire si la mienne ne fait pas défaut.
    Du coup tu ne peux pas nommer une de tes fonctions "union". Tu changes "union" vers "Union" et c'est bon !!

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    C'est d'ailleurs pour ça qu'il s'affiche en bleu dans le code ton message : le forum reconnait les mot-clés du langage et leur donne une couleur particulière. Ton éditeur de code fait sûrement pareil

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 815
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par hurukan Voir le message
    Tu changes "union" vers "Union" et c'est bon !!
    Pour la lisibilité c'est peut-être pas une super idée que de donner à ses fonctions/variable des noms ne différenciant un mot clef que par une majuscule. Moi je partirais à 90° et nommerais ma fonction "concatTabFloat()" (ce qui, en plus, collerait bien à la thématique du nom de la fonction d'affichage)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2020
    Messages : 5
    Par défaut
    Bonjour,
    Merci à tous pour votre aide, j'ai pu corriger ce souci (et bien d'autres par la suite )
    J'ai donc renommé ma fonction, et au passage c'est en changeant d'éditeur que j'ai constaté la surbrillance de "union", dans l'éditeur que j'utilisais il n'y avait pas de coloration sur ce dernier :/ .

    Bref merci encore, j'en apprend tous les jours ! ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LibreOffice][Tableur] algorithme d'union de plusieurs ensembles
    Par taur33 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 24/08/2015, 17h06
  2. [Tableaux] Algorithme pour les combinaisons
    Par Death83 dans le forum Langage
    Réponses: 33
    Dernier message: 09/08/2010, 14h31
  3. [Algorithme] Sèche sur un sujet Tableaux/Collections
    Par Vash_vador dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 08/03/2008, 16h13
  4. [Tableaux] Lister le tableau avec UNION => Problème
    Par tutomania dans le forum Langage
    Réponses: 4
    Dernier message: 25/09/2006, 19h20
  5. [Tableaux] Algorithme de simultanéité
    Par TheoOrl45 dans le forum Langage
    Réponses: 13
    Dernier message: 06/03/2006, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo