none
recherche d'un caractère RRS feed

  • Question

  • Bonjour J'ai un probleme je vous l'expose
    je suis en face d'un fichier contenant les données sous cette forme.
    1 2
    3 6
    7 90
    67 9
    45 8
    90 34
    Bref c'est du n'importe quoi ce sont les liens d'un graphe.
    Maintenant j'ai pour mission de récupérer le max de la 2ieme colone de mon fichier.
    Donc comparer (2; 6; 90; 9; 8)
    Heuresement je suis arrivé à le faire j'ai récupérer le max soit 90.
    Maintenant j'ai un autre fichier dans lequel je dois filtrer toutes les lignes contenant ce max
    Mais le souci est que ce second fichier est tellement grand lorsque je fais un grep
    je recupere toutes les lignes contenant le caractères 90(max) donc je recupère des lignes
    comme
    990 75
    3490 4
    ce qui n'a rien à avoir avec mon max recupérer et je ne sais plus quoi faire alors si quelqu'un peut m'aider je serai ravi.
    Merci d'avance
    lundi 16 août 2010 14:54

Réponses

  • Bonjour,

    Voici le traitement à faire sur chaque ligne :

    string[] colonnes;
    int col1;
    int col2;
    
    colonnes = ligne.Split(' ');
    col1 = Convert.ToInt32(colonnes[0]);
    col2 = Convert.ToInt32(colonnes[1]);
    
    

    Ainsi, vous traitez réellement le nombre 90 qui vous pose problème...

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Proposé comme réponse Papy Normand jeudi 19 août 2010 20:16
    • Marqué comme réponse Alex Petrescu vendredi 20 août 2010 13:54
    lundi 16 août 2010 15:53
    Modérateur

Toutes les réponses

  • Bonjour J'ai un probleme je vous l'expose
    je suis en face d'un fichier contenant les données sous cette forme.
    1 2
    3 6
    7 90
    67 9
    45 8
    90 34
    Bref c'est du n'importe quoi ce sont les liens d'un graphe.
    Maintenant j'ai pour mission de récupérer le max de la 2ieme colone de mon fichier.
    Donc comparer (2; 6; 90; 9; 8)
    Heuresement je suis arrivé à le faire j'ai récupérer le max soit 90.
    Maintenant j'ai un autre fichier dans lequel je dois filtrer toutes les lignes contenant ce max
    Mais le souci est que ce second fichier est tellement grand lorsque je fais un grep
    je recupere toutes les lignes contenant le caractères 90(max) donc je recupère des lignes
    comme
    990 75
    3490 4
    ce qui n'a rien à avoir avec mon max recupérer et je ne sais plus quoi faire alors si quelqu'un peut m'aider je serai ravi.
    Merci d'avance

    Si ma question n'est pas claire vous pouvez me demander plus d'explication merci
    lundi 16 août 2010 15:20
  • Es-ce que tu as essayé les Expressions Régulières?
    Microsoft MVP C# || gabrielmongeon.com
    lundi 16 août 2010 15:37
    Modérateur
  • Oui j'ai essayé tout pleins de combinaisons des expressions regulières. Alors à quelle expressions penses tu pour que je te dise l'effet que j'ai obtenu merci pour ta première réponse.
    lundi 16 août 2010 15:42
  • Bonjour,

    Voici le traitement à faire sur chaque ligne :

    string[] colonnes;
    int col1;
    int col2;
    
    colonnes = ligne.Split(' ');
    col1 = Convert.ToInt32(colonnes[0]);
    col2 = Convert.ToInt32(colonnes[1]);
    
    

    Ainsi, vous traitez réellement le nombre 90 qui vous pose problème...

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Proposé comme réponse Papy Normand jeudi 19 août 2010 20:16
    • Marqué comme réponse Alex Petrescu vendredi 20 août 2010 13:54
    lundi 16 août 2010 15:53
    Modérateur
  • Bonjour,

     

    Adate, si la solution de M. Tourreau vous a été utile, je vous remercie de le marquer comme réponse. Si vous avez besoin de plusieurs clarifications, n’hésitez pas de les demander dans ce thread.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    mercredi 18 août 2010 09:45
  • Bonjour ADATE,

    Pourriez-vous être plus clair  pour votre 2ème question ( celle qui concerne le 2ème fichier ) ?

    Si j'ai bien compris, vous voulez récupérer toutes les lignes de votre 2ème fichier dans lesquelles au moins une des 2 colonnes a la même valeur que le maximum de la 2ème colonne du 1er fichier ( stocké dans la variable maxcol2 par exemple). La solution de Gilles Tourreau est encore applicable.

    string[] colonnes;
    int col1;
    int col2;
    
    colonnes = ligne.Split(' ');
    col1 = Convert.ToInt32(colonnes[0]);
    col2 = Convert.ToInt32(colonnes[1]);
    
    if ( ( col1 == maxcol2 ) || ( col2 == maxcol2 ) )
    {
       // code de sauvegarder de la variable ligne
    }
    
    Bonne journée
    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    jeudi 19 août 2010 20:33