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 :

Vérifier si l’élément maximum depuis le premier vecteur se trouve dans le deuxième vecteur


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Vérifier si l’élément maximum depuis le premier vecteur se trouve dans le deuxième vecteur
    Étant donné 2 vecteurs de nombres entiers, avec m et n éléments chacun, vérifiez si l'élément maximum du premier vecteur se trouve dans le second.

    Entrée: m, arr1 [m], n et arr2 [n]
    Sortie: valeur booléenne - 0 pour FAUX ou 1 pour VRAI. La sortie doit être imprimée avec un nouveau caractère de ligne à la fin (comme dans le code déjà donné).


    Exemple:
    Pour m = 5, arr1 = {1, 9, 4, 3, 7} et n = 7, arr2 = {1, 6, 9, 12, 26, 78, 94}, l'élément maximal du premier tableau est trouvé sur la 3ème position dans le deuxième tableau de sorte que la sortie est 1 , je demande votre aide je n'arrive pas à compiler avec ce code . merci pour votre retour
    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace MaximumVector{
        public class MaximumVector{
            static void Main(string[] args){
                System.IO.StreamReader sr;
                int m = 0, n = 0, i = 0;
                int result = -1;
                int[] arr1 = null, arr2 = null;
                try{
                    sr = new System.IO.StreamReader(args[0]);
                    String[] lines = new String[4];
                    String line = null;
                    while ((line = sr.ReadLine()) != null) lines[i++] = line;
                    m = int.Parse(lines[0]);
                    n = int.Parse(lines[2]);
                    arr1 = new int[m];
                    arr2 = new int[n];
                    String[] array1= lines[1].Split(' ');
                    for (int j = 0; j < array1.Length; j++) arr1[j] = int.Parse(array1[j]);
                    String[] array2 = lines[3].Split(' ');
                    for (int j = 0; j < array2 .Length; j++) arr2[j] = int.Parse(array2 [j]);
     
                    Console.WriteLine("{0}", result);
                }
                catch (Exception e){
                    System.Diagnostics.Trace.WriteLine(e.Message);
                }
            }
        }
    }

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Pourtant ce code compile.
    Il plante chez moi car je ne sais pas ce que tu mets dans args, mais il compile.

    Sinon pour vérifier l'élément max dans un tableau d'entier :
    Pour vérifier l’existence d'un entier dans un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bool exists = arr2.Any(it => it == max);
    Ce sont deux bouts de code que tu aurais pu trouver par toi même en faisant deux petites recherche sur Google...

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Verifier si l'élémént maximum depuis le premier vecteur se trouve dans le deuxiéme vecteur
    Bonjour et merci pour ta réponse , en effet le but de l'exercice est de verifier que " le maximum depuis le premier vecteur se trouve dans le deuxieme vecteur " , j'ai effectué des recherches , mais je ne sais pas trop comment definit les parametres

    j' ai fais ce ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     if((arr1[J] > arr2[j]{
                                           max=arr1[j]
                                          result=max;
     
                                Console.WriteLine("{0}", result);
                }
                catch (Exception e){
                    System.Diagnostics.Trace.WriteLine(e.Message);
                }
            }
        }
    }
    je en sais pas si c'est la logique , mais j'ai un peu de mal avec les vector et array

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Verifier si l'élémént maximum depuis le premier vecteur se trouve dans le deuxiéme vecteur
    Bonsoir chèrs amis du forum , pourriez vous m'apporter votre avis sur ce programme ci :

    Étant donné 2 vecteurs de nombres entiers, avec m et n éléments chacun, vérifiez si l'élément maximum du premier vecteur se trouve dans le second.

    Entrée: m, arr1 [m], n et arr2 [n]
    Sortie: valeur booléenne - 0 pour FAUX ou 1 pour VRAI. La sortie doit être imprimée avec un nouveau caractère de ligne à la fin (comme dans le code déjà donné).


    Exemple:
    Pour m = 5, arr1 = {1, 9, 4, 3, 7} et n = 7, arr2 = {1, 6, 9, 12, 26, 78, 94}, l'élément maximal du premier tableau est trouvé sur la 3ème position dans le deuxième tableau de sorte que la sortie est 1 , je demande votre aide je n'arrive pas à compiler avec ce code . merci pour votre retour .

    jai codé comme ci et j aurai besoin de votre avis ou suggestions. merci
    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace MaximumVector{
        public class MaximumVector{
            static void Main(string[] args){
                System.IO.StreamReader sr;
                int m = 0, n = 0, i = 0;
                int result = -1;
                int[] arr1 = null, arr2 = null;
                try{
                    sr = new System.IO.StreamReader(args[0]);
                    String[] lines = new String[4];
                    String line = null;
                    while ((line = sr.ReadLine()) != null) lines[i++] = line;
                    m = int.Parse(lines[0]);
                    n = int.Parse(lines[2]);
                    arr1 = new int[m];
                    arr2 = new int[n];
                    String[] array1= lines[1].Split(' ');
                    for (int j = 0; j < array1.Length; j++) arr1[j] = int.Parse(array1[j]);
                    String[] array2 = lines[3].Split(' ');
                    for (int j = 0; j < array2 .Length; j++) arr2[j] = int.Parse(array2 [j]);
     
                     if(arr1[J] > arr2[j]){
                                           max=arr1[j]
                                          result=max;
     
                                Console.WriteLine("{0}", result);
                }
                catch (Exception e){
                    System.Diagnostics.Trace.WriteLine(e.Message);
                }
            }
        }
    }
                }
                catch (Exception e){
                    System.Diagnostics.Trace.WriteLine(e.Message);
                }
            }
        }
    }

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Pourquoi tu remets ton message initial ?
    Cela ne sert strictement à rien sauf à faire perdre du temps à ceux qui te relisent.

    Ne refais pas un historique de la conversation mais indique les éléments nouveaux que tu as à nous apporter.

    Je te demandais simplement ce que tu passais en entrée à ton programme.
    Avec un peu de déduction, je suppose que tu passes un chemin vers un fichier contenant ceci :
    5
    1 9 4 3 7
    7
    1 6 9 12 26 78 94
    Mais en tout cas, ça confirme que tu n'avais qu'à ajouter les deux lignes que je t'ai donnée pour que ça fonctionne.
    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
    static void Main(string[] args)
    {
        System.IO.StreamReader sr;
        int m = 0, n = 0, i = 0;
        int result = -1;
        int[] arr1 = null, arr2 = null;
        try
        {
     
            sr = new System.IO.StreamReader(args[0]);
            String[] lines = new String[4];
            String line = null;
            while ((line = sr.ReadLine()) != null) lines[i++] = line;
            m = int.Parse(lines[0]);
            n = int.Parse(lines[2]);
            arr1 = new int[m];
            arr2 = new int[n];
            String[] array1 = lines[1].Split(' ');
            for (int j = 0; j < array1.Length; j++) arr1[j] = int.Parse(array1[j]);
            String[] array2 = lines[3].Split(' ');
            for (int j = 0; j < array2.Length; j++) arr2[j] = int.Parse(array2[j]);
     
            /* popo :
             * J'ai simplement à ajouté ces deux lignes */
            int max = arr1.Max();
            result = arr2.Any(it => it == max) ? 1 : 0;
     
            Console.WriteLine("{0}", result);
            Console.ReadKey();
        }
        catch (Exception e)
        {
            System.Diagnostics.Trace.WriteLine(e.Message);
        }
    }

  6. #6
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour
    si tu veux tester ton class MaximumVector en "mode console" puisque tu travailles dans ce mode, tu dois rendre publique le method Main de ce class.

    code behind.cs revu du class MaximumVector :
    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
     
    using System.IO;
     
    namespace ConsoleApplication1
    {
        public class MaximumVector
        {
           public  static void Main(string[] args)
            {
                StreamReader sr;
                int m = 0, n = 0, i = 0;
                int result = -1;
                int[] arr1 = null, arr2 = null;
                try
                {
                    sr = new StreamReader(args[0]);
                    String[] lines = new String[4];
                    String line = null;
                    while ((line = sr.ReadLine()) != null) lines[i++] = line;
                    m = int.Parse(lines[0]);
                    n = int.Parse(lines[2]);
                    arr1 = new int[m];
                    arr2 = new int[n];
                    String[] array1 = lines[1].Split(',');
                    for (int j = 0; j < array1.Length; j++) 
                        arr1[j] = int.Parse(array1[j]);
                    String[] array2 = lines[3].Split(',');
                    for (int j = 0; j < array2.Length; j++) 
                        arr2[j] = int.Parse(array2[j]);
     
                    int maxelem = arr1.ToList().Max();
                    result = arr2.ToList().IndexOf(maxelem);
     
     
                    Console.WriteLine("{0}", result);
                    Console.ReadLine();
                }
                catch (Exception e)
                {
                    System.Diagnostics.Trace.WriteLine(e.Message);
                }
            }
        }
    }
    code behind.cs du class Program "classique":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                MaximumVector.Main(args);
            }
        }
    }
    configuration du projet console :
    - ajouter un fichier dénommé "Textfile1.txt" (ci-joint)
    - explorateur de solution :sélectionner ce fichier "Textfile1.txt" -> propriétés
    Action de génération :contenu
    Copier dans le répertoire:copier si plus récent

    Propriétés du projet console :
    - volet Application -> Objet de démarrage :ConsoleApplication1.Program
    - volet débogage -> options de démarrage->arguments de la ligne de commande ,taper "Textfile1.txt" (voir contenu en P.J)

    N.B: j'ai mis un séparateur virgule dans le fichier dénommé "Textfile1.txt"
    Bon code.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Verifier si l'élémént maximum depuis le premier vecteur se trouve dans le deuxiéme vecteur
    Merci à Popo pour tes explications qui m'ont permis de comprendre certains éléments et merci Mabrouki; problème résolu et compris

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

Discussions similaires

  1. Mettre élément WPF depuis une classe
    Par juliensmarties dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 07/07/2010, 10h28
  2. recuperation d'éléments pères depuis une iframe servlet
    Par progamer54 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/01/2009, 11h38
  3. Réponses: 12
    Dernier message: 11/11/2008, 21h30
  4. [WPF] Accés à un élément XAML depuis C#
    Par UNi[FR] dans le forum C#
    Réponses: 6
    Dernier message: 07/09/2007, 15h07
  5. [Montage PC] Vérifier la compatibilité des éléments
    Par lenul79 dans le forum Composants
    Réponses: 6
    Dernier message: 01/04/2007, 15h41

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