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 :

conversion avec C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut conversion avec C++
    salut
    je travaille sur une base de meme type que l'exemple envoyé, j'ai besoin d'un programme qui a le but de ne pas lire le 1ier, 2ème, 3ème, 4ème et 10ème données de chaque ligne de cette base, et doit convertir le reste des données en numéros symboliques, et pour les données qui se répètent le numéro symbolique attribué à une données précédente de meme type doit rester le meme à tout répitition, (par exemple si le mot http est référencé la première fois par le numéro 1 donc ce numéro doit rester le meme pour touts les mots http qui se présentent après)..
    pOUR plus d'explication, chaque ligne contient 1 enregistrement, et chaque enregistrement contient 11 données :
    1 id
    2 date
    3 temps de départ
    4 duration
    5 nom-service
    6 @-port-source
    7 @-port-destination
    8 @-ip-source
    9 @-ip-destination
    10 score d'attaque (1 ilya attaque, 0 sinon)
    11 nom-attaque

    j'envoie alors un example de la base sur laquelle je travaille (c'est un petit example mais la base réelle est plus large).
    j'ai besoin de cet algorithme afin de convertir ma base avec des caractères en numéro symbolique car je vais appliquer cette base à un autre algorithme (prince de data mining) déjà développé et il n'accepte que les données numériques.
    SVP aidez moi et merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    std::map ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut
    Citation Envoyé par Luc Hermitte
    std::map ?

    Désolé, je ne comprend pas q'est ce que tu veut dire!!!!!!!!!!!!!

  4. #4
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Les tables associatives du standard ne semblent être la réponse à ta question.

    P.ex.: si le numéro devait être attribué automatiquement (dans le cas contraire, c'est encore plus simple)
    Pour chaque nouvelle clé, tu lui attribues comme indice le nombre d'éléments déjà présent dans la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    struct Table {
        int getNumber(std::string const& key) {
            std::map<std::string,int>::const_iterator where = m_table.find(key);
            if (where != m_table.end()) 
                return where->second
            else {
                const int n = m_table.size();
                m_table[key] = n;
                return n;
            }
        }
    private:
        std::map<std::string, int> m_table;
    };
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut
    Salut,
    J’ai expliqué le problème à un amis et il propose cette idée : il s'agit en fait de considérer le document en tant que fichier texte, donc il suffit de déclarer un pointeur sur le fichier pour l'ouvrir en lecture.
    laisser le fichier principal intact et dans ce cas créer un nouveau fichier et y écrire les symboles numériques.
    faire le parcours du fichier en considérant le nombre d'espaces comme les délimiteurs des différentes colonnes, puis considérer 6 tableaux dynamiques à déclarer et on peut déclarer une structure avec 6 champs de tableaux qui portent une liste énumérer des différentes valeurs de chaque colonne donc un tableau par colonne et cette liste est mise à jour à chaque rencontre d'un nouveau élément pour chaque colonne.
    Alors je commence par ce cde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>
    #include <stdlib.h>
    int main (int argc, char const* argv[])
    { 
    char *f1 = NULL; /* name of input file */
    char *f2 = NULL; /* name of output file */
    f1=fopen(f1, "r"); /* open input file for reading */
    if (f1== NULL)
    {
    printf("Impossible d'ouvrire le fichier d'entré");
    }
    f2=fopen(f2,"w");
    et j'espère que qqun m'aide à développer le code final de cette idée.
    En effet, la base dont je veux est de cette forme :
    1 3 5 4 6 7
    2 3 5 8 9 10
    1 11 12 8 6 10
    Merci


Discussions similaires

  1. Conversion avec trang
    Par Linaa dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 31/03/2006, 13h42
  2. Souci de conversion avec XMLHttpRequest
    Par Christophe Charron dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/03/2006, 13h19
  3. Problème de conversion avec CONVERT
    Par gowser dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/12/2005, 16h48
  4. Conversion avec template
    Par indy2 dans le forum Langage
    Réponses: 10
    Dernier message: 23/03/2005, 00h02
  5. Réponses: 5
    Dernier message: 12/01/2005, 20h58

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